2016-09-07 53 views
0

这是关于Laravel 5.3.6

我能够成功登录,我可以在登录后检查身份验证用户。我可以显示Auth::guard()具有当前用户对象的确切位置。以下是详细信息。 Auth :: user()在5.3.6中为空?

  1. 进入登录控制器
  2. 转到AuthenticatesUsers特质
  3. 转到sendLoginResponse方法。用户成功到达此处,因为用户已通过身份验证。

在这里,我可以检查$this->guard()->user()拥有当前用户的价值。但是,当控制达到角色控制器....我试图访问它像这样dd(Auth::guard());和值为空。我还在角色控制器中添加了以下参考。

use Illuminate\Support\Facades\Auth; 

下面是我的角色控制器的路线。

Route::group(['middleware' => ['auth']], function() { 
    Route::get('/Roles',    
     array (
      'uses' => 'Website\Role\[email protected]',  
      '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 ▶} 
} 
+0

你覆盖在登录控制器的任何方法,如果是的话,请张贴 – msonowal

+0

不,我没有覆盖任何方法。 – Pankaj

+0

完整的dd(Auth :: guard());为空或只有“用户”部分,您可以请张贴控制器吗?在你到达控制器路由之前,dd(Auth :: guard()); geves你收集? –

回答

0

Kernel.php文件就像下面

protected $middleware = [ 
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, 
]; 

protected $middlewareGroups = [ 
    'web' => [ 
     \App\Http\Middleware\EncryptCookies::class, 
     \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 
     \Illuminate\Session\Middleware\StartSession::class, 
     \Illuminate\View\Middleware\ShareErrorsFromSession::class, 
     \App\Http\Middleware\VerifyCsrfToken::class, 
     \Illuminate\Routing\Middleware\SubstituteBindings::class, 
    ], 

    'api' => [ 
     'throttle:60,1', 
     'bindings', 
    ], 
]; 

我改变了它下面喜欢。

protected $middleware = [ 
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, 
    \App\Http\Middleware\EncryptCookies::class, 
    \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 
    \Illuminate\Session\Middleware\StartSession::class, 
    \Illuminate\View\Middleware\ShareErrorsFromSession::class, 
    \App\Http\Middleware\VerifyCsrfToken::class, 
]; 

protected $middlewareGroups = [ 
    'web' => [ 
     \Illuminate\Routing\Middleware\SubstituteBindings::class, 
    ], 

    'api' => [ 
     'throttle:60,1', 
     'bindings', 
    ], 
]; 
相关问题