【发布时间】:2021-04-27 20:56:06
【问题描述】:
从 LoginController 重定向后 Auth::guard('user')->user() 返回 null
public function userPostLogin(array $collection)
{
return Auth::guard('web')->attempt($collection);
}
登录消费者
public function userLoginAuthentication(Request $request)
{
if ($request->get('phoneNumber') != null && $request->get('password') != null) {
$login = new LoginDTO($request->get('regionCode'). ' ' .$request->get('phoneNumber'), $request->get('password'), $request->get('role'));
$mapper = new LoginMapper();
return $this->userLoginConsumer->userPostLogin((array)$mapper->objectToCollection($login));}
登录服务
public function loginAuthentication(Request $request)
{
$this->userLoginService->userLoginAuthentication($request);
return redirect()->route('user-home');
登录控制器
Auth::guard('web')->user() 在每一层中返回正确的用户。但是在重定向到 route('user-home') (或任何路由)时,相同的 Auth::guard('web')->user() 返回 null
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
'admin' => [
'driver' => 'session',
'provider' => 'admins'
],
'admin-api' => [
'driver' => 'token',
'provider' => 'admins'
],
'kitchen' => [
'driver' => 'session',
'provider' => 'kitchens'
],
'kitchen-api' => [
'driver' => 'token',
'provider' => 'kitchens'
]
],
'providers' => [
'users' => [
'driver' => 'jsonresponse',
'model' => CustomUser::class,
],
'admins' => [
'driver' => 'jsonresponse',
'model' => CustomUser::class,
],
'kitchens' => [
'driver' => 'jsonresponse',
'model' => CustomUser::class,
],
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
'throttle' => 60,
],
],
'password_timeout' => 10800,
auth.php
【问题讨论】:
-
所有这些路由都在
web.php文件中吗? -
都在user.php(自定义路由文件)
-
您是否将“网络”中间件应用于这些路由?
-
Route::group(['middleware' => 'web'], function () { Route::get('/home', 'HomeController@index')->name('user -home'); });
-
您是否在控制器中调用
Auth::guard('web')->user()?