基础知识
- 哈希加密解密(Laravel默认的加密方式是哈希,具体教程看官方文档)
- 模型操作
- 表单认证
具体实现
表结构

注册自定义
- 页面用的还是默认的页面,所以还是要执行
php artisan make:auth
- 将users的迁移表修改一下,添加user_id字段
- 在注册的视图中添加一个user_id输入框
- 修改RegisterController
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
//添加user_id
'user_id'=>['required','integer'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
//将user_id写入数据库中
'user_id'=>$data['user_id'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
protected $fillable = [
'name', 'user_id','email', 'password',
];
登录自定义
- 将登陆时使用的Email改为user id
- 修改LoginController
public function login(Request $request){
//获取表单输入
$user_id = $request->input('user_id');
$password = $request->input('password');
//获取用户信息
$user = User::where('user_id',$user_id)->first();
//数据库中取的密码
$pass = $user->password;
$str = Hash::make($pass);
if (Hash::check($password, $pass)) {
Auth::login($user);
return redirect('/home');
}else{
return redirect('/login');
}
}