【发布时间】:2018-01-07 21:45:24
【问题描述】:
我遇到了 Auth 的问题,我有管理中间件和处理函数,但 Auth::check 总是返回 false。好像用户会话不存在。
我认为问题出在/storage 和/bootstrap/cache 的权限上,但是当我为这些文件夹设置777 时,问题仍然存在。会话文件夹不为空。
我已尝试清除缓存。
我的管理中间件:
public function handle($request, Closure $next)
{
//check the proper role
if (Auth::check() && Auth::user()->isAdmin()) {
return $next($request);
}
else {
return response()->view('auth.forbidden')->header('Content-Type', 'text/html');
}
}
有什么想法吗?
谢谢
【问题讨论】:
-
你使用的是自己的认证系统还是 Laravel 的认证系统?
-
自定义 Laravel 身份验证,我刚刚添加了我的管理中间件。在本地服务器上,一切正常。这个问题只在生产服务器上。
-
@zm_fans 请显示您的中间件详细信息
-
能否请您输入您的路线代码?
-
Route::auth(); ,“web”中间件组下的所有路由。并且管理路由具有“管理”中间件。
Route::group(array('prefix' => 'admin', 'middleware' => 'web'), function() { Route::get('/',[ 'uses' => '返回\AdminController@index', 'as' => 'admin.index', 'middleware' => 'admin' ]); });
标签: php laravel session authentication