[英]Laravel :auth cannot login
我正在尝试在laravel中实现身份验证功能
这是我的帖子登录功能
public function postLogin(Request $request){
if (Auth::attempt(['email' => $request->get('email'), 'password' => $request->get('password')])){
return redirect()->route('index');}
else{
return 'not entered ';
}
}
但是,我not entered
每次都收到not entered
。
我的密码以纯文本格式存储在数据库中(未散列)。
您是否知道,当您使用Auth::attempt()
并传递密码init时,laravel会为您哈希密码。例如,您的表中有123456密码。 那么您正尝试使用Auth::attempt()
登录。.您的输入密码将更改为“ kjdfklsjgkjfglkjdgkjdfg”这个..现在您知道了吗? 为什么您的方法返回“未输入”而不是重定向到管理路由
尝试在必须使用哈希外观Hash::make($password)
或全局函数bcrypt($password)
地方写一个种子,您将在数据库中获得一个哈希的密码。 之后,您将可以成功使用Auth :: attempt()
并且最好使用$ request-> input(),您知道它看起来不错! :)
尝试使用$ request-> input()代替$ request-> get()
public function postLogin(Request $request){
if (Auth::attempt(['email' => $request->input('email'), 'password' => $request->input('password')])){
return redirect()->route('admin');
}else{
return 'not entered ';
}
}
祝您编码愉快!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.