请求转到每个中间件 laravel 5.2
Request goes to each middleware laravel 5.2
我正在使用 laravel 5.2 和 entrust/zizaco。当用户通过身份验证时,他们具有管理员角色,但是当我将 dd(1) 放入我的 app_user 角色中间件时,请求进入了它!
请求也进入了admin,以及business_owner角色中间件。
甚至当用户注销后,他们的每个请求都会通过 auth 中间件!!
Route::group(['middleware' => 'auth'], function () {
Route::group(['middleware' => ['role:admin']], function (){
// Routes go here
});
Route::group(['middleware' => ['role:app_user']], function (){
// Routes go here
});
Route::group(['middleware' => ['role:business_owner']], function (){
// Routes go here
});
});
是的,请求应该进入验证中间件,你可以在中间件中编写你的代码。
这是 laravel 内置的中间件,用于验证用户:
public function handle($request, Closure $next)
{
if ($this->auth->guest()) { // if user isn't authenticated
if ($request->ajax()) { // if request is ajax
return response('Unauthorized.', 401); // return 401 res
} else {
return redirect()->guest('login'); // else redirect login page
}
}
return $next($request); // return next res(e.g dashboard) if user is authenticated
}
我正在使用 laravel 5.2 和 entrust/zizaco。当用户通过身份验证时,他们具有管理员角色,但是当我将 dd(1) 放入我的 app_user 角色中间件时,请求进入了它! 请求也进入了admin,以及business_owner角色中间件。 甚至当用户注销后,他们的每个请求都会通过 auth 中间件!!
Route::group(['middleware' => 'auth'], function () {
Route::group(['middleware' => ['role:admin']], function (){
// Routes go here
});
Route::group(['middleware' => ['role:app_user']], function (){
// Routes go here
});
Route::group(['middleware' => ['role:business_owner']], function (){
// Routes go here
});
});
是的,请求应该进入验证中间件,你可以在中间件中编写你的代码。 这是 laravel 内置的中间件,用于验证用户:
public function handle($request, Closure $next)
{
if ($this->auth->guest()) { // if user isn't authenticated
if ($request->ajax()) { // if request is ajax
return response('Unauthorized.', 401); // return 401 res
} else {
return redirect()->guest('login'); // else redirect login page
}
}
return $next($request); // return next res(e.g dashboard) if user is authenticated
}