我是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();
});
}
但是当我尝试注册时,没有任何反应。用户表中没有任何条目。怎么了?