我想在laravel上编写自定义身份验证,我想知道应该使用defaultauth
还是应该编写新的身份验证?
我的身份验证工作流程是:
第1步-显示电子邮件表单(在此步骤中,我们将仅获得电子邮件地址)
步骤1-2-检查电子邮件是否存在,如果电子邮件存在,我们将转到步骤2,如果不存在,则应将用户重定向到步骤3
第2步-获取用户密码(验证密码,如果一切正常,用户将登录)
第3步-显示注册表单,并在电子邮件中填写输入的用户电子邮件地址(验证表单并注册用户)
您有什么解决方案?
//登录规则
public function user_login_rules(array $data)
{
$messages = [
'email.required' => 'Please enter your email'
];
$validator = Validator::make($data, [
'email' => 'required'
], $messages);
return $validator;
}
您的发帖方式
public function postSignIn(Request $request)
{
$request_data = $request->all();
$validator = $this->user_login_rules($request_data);
if($validator->fails())
{
return redirect()->back()->withErrors($validator)->withInput();
}
else
{
$email = $request_data['email'];
$user_details = User::where('email', $email)->first();
if(count($user_details) > 0)
{
$credentials = array('email'=> $email ,'password'=> $request_data['password']);
if ($this->auth->attempt($credentials, $request->has('remember')))
{
//Login successful
return redirect()->to('/home');
}
else
{
$error = array('password' => 'Please enter a correct password');
return redirect()->back()->withErrors($error);
}
}
else
{
//Display register page with email
return view('register')->with('email', $email);
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句