我试图在注册后立即使用以下代码登录用户 我没有看到我的代码中有任何错误,我收到以下错误
方法[guard]不存在。
我还有导入使用
Illuminate\Contracts\Auth\Guard;
RegisterUser
public function register(Request $request)
{
$validator = $this->validator($request->all());
if ($validator->fails()) {
$this->throwValidationException(
$request, $validator
);
}
// $this->create($request->all());
$user = $this->create($request->all());
UserVerification::generate($user);
UserVerification::send($user, 'My Custom E-mail Subject');
$this->guard()->login($user)->with('status', 'Registration successfully done.');
return $this->registered($request, $user)
?: redirect($this->redirectPath());
}
答案 0 :(得分:0)
控制器中没有名为guard
的方法。使用login
中的Auth
方法
使用Auth::login($user);
手动登录用户
public function register(Request $request)
{
$validator = $this->validator($request->all());
if ($validator->fails()) {
$this->throwValidationException(
$request, $validator
);
}
// $this->create($request->all());
$user = $this->create($request->all());
UserVerification::generate($user);
UserVerification::send($user, 'My Custom E-mail Subject');
\Auth::login($user);
return $this->registered($request, $user)
?: redirect($this->redirectPath());
}
如果您想使用自定义警卫,您可以指定警卫Auth::guard('guard-name')->login($user)
答案 1 :(得分:0)
注册后,如果您的自定义守卫不起作用,请在您的自定义注册控制器中将此功能放在下面,它将为您工作。注册后,您的自定义守卫将 100% 工作。
protected function guard(){return Auth::guard('dealer');}