簡體   English   中英

Auth :: guard('admin')-> user()返回始終為null

[英]Auth::guard('admin')->user() return always null

我定義了一個新的警衛“ Admin”,以在我的項目中擁有一個多身份驗證系統用戶和admin。 當我登錄時就可以了,並且我將令牌指向其余的api路由。當我使用auth :: guard('Admin')-> user()時,我總是為null

有什么建議嗎?

Auth.php:

'defaults' => [
    'guard' => 'web',
    'passwords' => 'users',     
],

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'passport', 
        'provider' => 'users', 
    ],
    'admin' => [
        'driver' => 'session',
        'provider' => 'admins',
    ]
],




'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],
    'admins' => [
        'driver' => 'eloquent',
        'model' => App\Admin::class,
    ],

登錄方式:

public function ALogin(Request $request){

    //  dd($request);
    //  dd($rrequest->header);

     if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) {
        $this->connectedAdmin = Auth::guard('admin')->user(); 
        // dd( $connectedAdmin);
         $success['token'] = $this->connectedAdmin->createToken('MyApp')->accessToken; 
         $return = new \stdClass();
         $return->token = $success['token'];
         //dd(self::$connectedAdmin);
         return response()->json($return, 200); 
     }

      // dd(Auth::guard('admin')->user());
     return response()->json("error", 400); 
 }

* /

在路由文件中,要為多個端點指定防護,請執行以下操作:

/** routes/api.php */

Route::group(['guard' => 'admin'], function () {

    Route::get('/a-route', 'AController@method');
    // ...

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM