我创建了一个控制器,用一些简单的逻辑向Laravel注册用户,我想检查是否有其他方法可以做到这一点!
下面的代码工作正常我只是不确定在自动登录之前验证是否有效 - 用户在寄存器方法上?
任何人都知道这种方式是否安全并且没有安全问题?
public function register(Request $request)
{
$this->validation($request);
User::create([
'name' => $request->name,
'lastname' => $request->lastname,
'email' => $request->email,
'password' => bcrypt($request->password)
]);
Auth::attempt(['email' =>$request->email, 'password' => $request->password]);
// Authentication passed...
return redirect('/');
}
protected function validation($request)
{
return $this->validate($request, [
'name' => 'required|string|max:255',
'lastname' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
}
答案 0 :(得分:0)
您应首先检查用户在注册时是否已经登录,您可以在构造函数中检查用户是否已登录,而不是保存数据将其重定向到当前登录的用户主页。 您还可以使用带有AUTH中间件的laravel内置功能。