php - 如何在 laravel 5.6 中进行自定义登录?
问题描述
我使用了自己的自定义登录而不使用身份验证。这是我的代码
public function userLogin(Request $request){
if($request->isMethod('post')){
$data = $request->input();
$this->validate($request, [
'uemail'=> 'required|email',
'user_type'=> 'required',
'user_id' => 'required',
'upassword' => 'required|min:6',
],
[
'uemail.email' => 'Email must be valid',
'uemail.required' => 'Email is required',
'user_type.required' => 'Type is required',
'user_id.required' => 'Name is required',
'upassword.required' => 'Password is required',
'upassword.min' => 'Password must be at least 6 characters',
]);
$user_type = $data['user_type'];
$user_id = $data['user_id'];
$uemail = $data['uemail'];
$upassword = $data['upassword'];
$hashPass = bcrypt($upassword);
DB::enableQueryLog();
$user1 = User::where('type',$user_type)->where('user_id',$user_id)->where('email',$uemail)
->where('status',1)->where('deleted_at',null)->firstOrFail();
$user = DB::table('users')->where('type',$user_type)->where('user_id',$user_id)->where('email',$uemail)
->where('status',1)->where('deleted_at',null);
// $query = DB::getQueryLog();
// $query = end($query);
$isPasswordCorrect = Hash::check($upassword, $user1->password);
if($user == null){
echo "Failed"; die;
}
if($user->exists() && $isPasswordCorrect){
echo "Success"; die;
Session::put('userSession',$user1->email);
Session::put('loginSession',$user_type);
Session::put('idSession',$user1->user_id);
return redirect('/user/dashboard');
} else {
return redirect('/user')->>with('flash_message_error','Invalid Login Credentials..');
}
}
return view('death_notice.user_login');
}
这是我的登录功能。但它不起作用。当凭据正确时,它会重定向到仪表板,即正确,但是当电子邮件或密码或其他凭据错误时,它会显示错误消息。但是,当用户输入不在数据库中的此类数据时,它必须显示用户不存在的消息。但它的页面未找到错误...
我想要解决这个问题。
解决方案
好的,首先确认,您在 web.php 中定义了类似“/user”的路由
推荐阅读
- php - 如何在 PHP 中使用依赖注入?
- reactjs - 我不明白为什么这个扬声器组件需要 React.memo 来防止额外的渲染
- python - 如何使用正则表达式找到具有可变长度前缀的重叠匹配?
- visual-studio-code - Visual Studio Code 删除自动完成
- jquery - 将方法存储在将在“if”条件下使用的变量中是不好的做法还是不正确?
- android - 菜单项可见性不会部分改变
- fat-free-framework - Fatfree 框架嵌套模板
- multithreading - 为什么通过 std::thread_local 使用时 reqwest::blocking::Client 在我的程序结束时出现恐慌
- xslt - xslt 按函数分组或附加到数组
- ios - 输入大量文本时,用 UIKit 包裹的文本字段从该区域突出