Я новичок в Laravel. Я только что узнал, как заставить Laravel создать инфраструктуру аутентификации, выполнив команду:
php artisan make:auth
Это прекрасно работает для меня, но я хочу сделать процесс аутентификации максимально простым, поэтому я хочуустранить все, что связано с электронной почтой. В конце концов я хочу, чтобы пользователи регистрировались на сайте и проходили аутентификацию, вводя только имя пользователя и пароль. Таким образом, работа с электронной почтой не требуется, пароль для переустановки не требуется.
Что следует изменить в стандартном коде аутентификации Laravel, чтобы избавиться от проблем с электронной почтой?
Я изменилзарегистрировать контроллер на это:
class RegisterController extends Controller {
use RegistersUsers;
protected $redirectTo = '/home';
public function __construct()
{
$this->middleware('guest');
}
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'username' => ['required', 'string', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'username' => $data['username'],
'password' => Hash::make($data['password']),
]);
}
}
Миграция выглядит так:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('username')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
Но когда я пытаюсь зарегистрироваться, ничего не происходит. В таблице пользователей нет записей. Что не так?