В моем приложении Laravel 5.5 с системой аутентификации по умолчанию я пытаюсь реализовать процедуру входа в систему, как это,
1. У меня есть is_approved
поле в users
таблица по умолчанию 0;
2. Если администратор одобрил пользователя, он будет равен 1, и пользователь сможет войти в систему.
3. Пользователь будет перенаправлен на страницу входа после регистрации с сообщением «Вы
были успешно зарегистрированы. Пожалуйста, дождитесь одобрения администратора «.
Поэтому, когда пользователь регистрируется, его следует перенаправить на страницу входа, а не на домашнюю страницу, и если он пытается войти на страницу входа с помощью адреса электронной почты и пароля, он должен сказать: «Вы еще не одобрены!».
Что мне нужно изменить для этого в системе аутентификации Laravel?
Я переопределяю и изменяю register
метод в моем RegisterController
,
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
return redirect()->back()->with('success', 'You have been successfully registered!. Please wait for the admin approval');
}
и в моем LoginController
Я переопределяю и изменяю credentials
метод,
public function credentials(Request $request)
{
return [
'email' => $request->email,
'password' => $request->password,
'is_approved' => 1,
];
}
Работает отлично!
Других решений пока нет …