Зарегистрируйтесь после авторизации администратора в laravel 7 - PullRequest
0 голосов
/ 30 апреля 2020

Я хочу получить регистрацию после авторизации, чтобы администратор мог создать пользователя. Я пытался найти что-то об этом, но все примеры приведены в Laravel 5s, а методы контроллеров не совпадают. У вас есть идея, пожалуйста?

enter image description here

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Администраторы обычно создают пользователей для своих приложений. Вы должны быть осторожны с созданием пользователя. Я лично не хочу администратора, который создает пароль для моей учетной записи.

Я бы сделал следующее:

1. Создайте пользователя с временным паролем.

public function create(){
    $user = new User();
    $user->name = $request->name;
    $user->email = $request->email;
    $user->password = Hash::make(Str::random(32));
    $user->regToken = Str::random(32);
}

2. Сохраните пользователя с временным паролем и отправьте регистрацию по электронной почте новому пользователю, чтобы он мог изменить свой пароль.

$user->notify(new MailCompleteRegistrationNotification($user->regToken, $user->email));

Я использую почтовые уведомления для отправки регистрационного письма. в уведомлении у меня есть следующая функция электронной почты:

 public function toMail($notifiable)
    {
        return (new MailMessage)
            ->subject("Subject")
            ->line('Welcome to the application. We created a account for you but still need some details.')
            ->line('If you want to complete the registration you can click the button below:')
            ->action('Complete registration', url('registration',  [$this->regToken,  $this->email]));
    }

Я бы порекомендовал сделать создание пользователя таким образом

0 голосов
/ 30 апреля 2020

Если вы хотите создать нового пользователя в качестве администратора, вам просто нужно использовать метод User::create([ ... ]). Не забудьте указать адрес электронной почты и хешированный пароль, чтобы пользователь мог войти в систему.

Пример создания пользователя:

User::create([
  'email' => 'foo@bar.com',
  'password' => bcrypt('foobar'),
]);

Если вы хотите удалить регистрацию для гостей, вам следует удалите RegistrationController и измените маршрут на Auth::routes(['register' => false]);.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...