티스토리 뷰



Laravel 5 에서 특정 Route 를 HTTPS 로만 접속하게 하도록 하는 방법입니다. 만약 HTTPS 가 아닐경우 HTTPS 로 리다이렉트 하게 하는 Middleware 입니다.


우선 코드를 이용하는 방법은 app > Middleware 에 Secure.php 를 만드신 후 아래와 같이 코드를 입력하여 Secure Middleware 를 만드시기 바랍니다.


<?php namespace App\Http\Middleware;
use Closure;
use Illuminate\Contracts\Routing\Middleware;
/**
 * Secure
 * Redirects any non-secure requests to their secure counterparts.
 * 
 * @param request The request object.
 * @param $next The next closure.
 * @return redirects to the secure counterpart of the requested uri.
*/
class Secure implements Middleware
{
	
	public function handle($request, Closure $next)
	{
		
		if (!$request->secure() && app()->environment('production')) {
	    		return redirect()->secure($request->getRequestUri());
		}
	
		return $next($request);
	}
	
}





 그리고 사용방법은 app > Http > route.php 로 이동하여 아래와 같이 group(['middleware' => 'secure'] 를 이용하여 Route 그룹을 묶어 주시면 됩니다.


Route::group(['middleware' => 'secure'], function () {
   // Authentication routes...
	Route::get('member/login', 'Auth\AuthController@getLogin');
	Route::get('member/logout', 'Auth\AuthController@getLogout');
	Route::post('member/login', 'Auth\AuthController@postLogin');
});

즐거운 개발되시기 바랍니다. ^^

공유하기 링크
댓글