Я использую пакеты laravel-modules "https://nwidart.com/laravel-modules/v3/introduction", чтобы лучше структурировать мое приложение.
У меня есть пользовательская модель, созданная с помощью ремесленной команды «make::auth», которая находится в приложении, и модель-член, которая находится в папке «Модули».
Проблема в том, что после того, как я вхожу в систему с помощью Member Guard и перенаправляюсь на /member/profile Auth::guard('memberweb')->user() всегда возвращает null. Но если я dd(Auth::guard('memberweb')->user()) в методе входа в MemberLoginController :
/**
* Member Login
*
* @return void
*/
public function login(Request $request)
{
$this->validate($request, [
'email' => 'required|email',
'password' => 'required',
]);
// Attempt to log the member in
if (Auth::guard('memberweb')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) {
// if successful, then redirect to their intended location
dd(Auth::guard('memberweb')->user());
return redirect()->intended(route('memberProfile'));
}
// if unsuccessful, then redirect back to the login with the form data
return redirect()->back()->withInput($request->only('email', 'remember'))->with('error','your credentials donnot match our records');
}
объект возвращается, как и ожидалось. Похоже, что после перенаправления участник выходит из системы.
А мой config.auth.guards выглядит так:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'memberweb' => [
'driver' => 'session',
'provider' => 'members',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
'memberweb-api' => [
'driver' => 'token',
'provider' => 'members',
],
],
И мой Kernel.php:
protected $routeMiddleware = [
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'memberAuth' => \Modules\Member\Http\Middleware\RedirectIfMemberAuthenticated::class,
'role' => \App\Http\Middleware\Roles::class,
'permission' => \App\Http\Middleware\Permissions::class,
];
Что я делаю не так?