【发布时间】:2016-09-09 06:51:30
【问题描述】:
这是关于 Laravel 5.3.6
我能够成功登录,登录后我可以检查身份验证用户。我可以显示Auth::guard() 具有当前用户对象的确切位置。以下是详细信息。
- 转到登录控制器
- 转到 AuthenticatesUsers Trait
- 转到 sendLoginResponse 方法。用户成功到达这里,因为用户身份验证成功。
在这里我可以检查$this->guard()->user() 是否具有当前用户值。但是当控制权到达角色控制器时......我试图像这样dd(Auth::guard()); 访问它并且值为null。我还在 Role Controller 中添加了参考。
use Illuminate\Support\Facades\Auth;
下面是我的角色控制器路线。
Route::group(['middleware' => ['auth']], function () {
Route::get('/Roles',
array (
'uses' => 'Website\Role\RoleController@index',
'as' => 'Roles'
)
);
});
你在 Laravel 5.3.6 中遇到过这种问题吗?
\Auth::guard() 的输出如下。
SessionGuard {#162 ▼
#name: "web"
#lastAttempted: null
#viaRemember: false
#session: Store {#165 ▶}
#cookie: CookieJar {#167 ▶}
#request: Request {#40 ▶}
#events: Dispatcher {#5 ▶}
#loggedOut: false
#tokenRetrievalAttempted: false
#user: null
#provider: EloquentUserProvider {#158 ▶}
}
【问题讨论】:
-
您是否覆盖了登录控制器中的任何方法,如果是,请发布它
-
不,我没有重写任何方法。
-
做了整个 dd(Auth::guard());是空的或只有“用户”部分,你能发布控制器吗?在到达控制器路由之前 dd(Auth::guard());给你收藏?
-
@RoccoMilluzzo:感谢您的回复。我已经用细节更新了这个问题。如果还有什么需要澄清的,请告诉我。
-
老实说我很奇怪,看起来它不会让用户保持登录状态,它是只发生在角色上还是在所有其他页面上?我已经尝试了 2 个项目,一个 5.2 和一个 5.3,但我无法重现该问题。
标签: laravel laravel-5.2 laravel-5.1 laravel-5.3