繁体   English   中英

Laravel Auth::user() 总是 null

[英]Laravel Auth::user() always null

我已经创建了这个登录 function 它在输入正确的用户名和密码时返回登录成功

public function login(Request $request){

        if(Auth::user()){
            return response()->json(['success'=>'already lodged.',200]);
        }else{
            $this->validate($request,[
                'email' => 'required|email',
                'password' => 'required|alphaNum|min:6'
            ]);
            $user_data = array(
                'email' => $request->get('email'),
                'password' => $request->get('password')
            );

            if(Auth::attempt($user_data)){
                return response()->json(['success'=>'login success.',401]);
            }else{
                return response()->json(['error'=>'Unauthenticated.',401]);
            }
        }

    }

我必须在 route/api.php 中定义这样的路由

Route::group(['prefix' => 'web'],function (){
    Route::get('/reg',function (){
        return view('pages.temp.register');
    });
    Route::get('/login',function (){
        return view('pages.temp.login');
    })->name('login');
});

Route::get('/userdashboard', 'UserController@index')->middleware('auth');
Route::get('/user/{id}', 'UserController@show')->middleware('auth');

但是当我在另一个 controller 或另一个视图中调用 Auth::user() 时,它返回 null 它有什么问题

我已经修复了这个错误。 我在 route/api.php 中创建了一个身份验证路由。 API route not supported to the session so it does not store user data in the session because that Auth::user() always returns null. 请查看此答案https://stackoverflow.com/a/44863089/13729121

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM