【发布时间】:2016-05-28 12:02:07
【问题描述】:
我有点吃不消了。我正在使用 Auth::login() 登录管理员。但是在我登录他(登录通过并且此时 Auth::check 返回 true)并使用 redirect::route() 到管理面板后,Auth::check 返回 false。我检查了其他解决方案,但我的路由放置在 web 中间件组中,因此会话应该可以正常工作。有什么想法吗?
认证的最后部分
$admin = $this->setAdmin($user);
Auth::login($admin);
return Redirect::route('admin.panel');
路由(它们也包含在 ['middleware' => ['web']])
Route::group(['middleware' => 'auth', 'namespace' => 'Admin'], function(){
Route::get('/', [ 'as' => 'admin.panel', 'uses' => 'AdminController@index' ]);
})
基本中间件
if (Auth::check()) {
return $next($request);
}
return redirect('/');
【问题讨论】:
-
请贴一些代码。
-
好吧,这没什么好说的` $admin = $this->setAdmin($user);验证::登录($admin); return Redirect::route('admin.panel');` 然后管理面板在 auth 中间件组 `Route::group(['middleware' => 'auth', 'namespace' => 'Admin'] , function(){ Route::get('/', [ 'as' => 'admin.panel', 'uses' => 'AdminController@index' ]); });` 而且中间件也很基础` if (Auth::check()) { return $next($request); } 返回重定向('/');`
-
顺便说一下,我刚刚用 session(['key' => 'tatat']); 快速检查了会话。重定向后我得到相同的值,所以会话很好。我没提,但是我把laravel默认的认证控制器都删了,会不会是这个原因?
-
在问题部分发帖