В Kernel.php есть зарегистрированные промежуточные программы в защищенном $ routeMiddleware, например:
/**
* The application's route middleware.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => 'App\Http\Middleware\Authenticate',
'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
'guest' => 'App\Http\Middleware\RedirectIfAuthenticated',
];
Вы можете видеть, что auth зарегистрирован для использования App \ Http \ Middleware \ Authenticate.
Затем вы можете следовать по этому пути - если вы откроете /app/Http/Middleware/Authenticate.php, вы найдете дескриптор общедоступной функции:
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($this->auth->guest())
{
if ($request->ajax())
{
return response('Unauthorized.', 401);
}
else
{
return redirect()->guest('auth/login');
}
}
return $next($request);
}
и здесь осуществляется управление перенаправлением, и вы можете изменить его для своих нужд или создать собственное промежуточное ПО.
наконец - как написано в документации - в контроллер, который нужно будет аутентифицировать, вы добавите
public function __construct()
{
$this->middleware('auth');
}
Вы можете создать собственное промежуточное ПО, если оно вам не подходит.
person
Angel M.
schedule
23.08.2015