php - 我无法使用此代码记录我的应用程序的第一个用户的原因可能是什么
问题描述
我可以像这个突出显示的那样记录我的第二个用户
但是第一个,我无法登录,这是我的代码
public function postLogin(Request $request)
{
// -> Validate the request.
$this->validate(request(), [
'pin' => 'required|string',
'password' => 'required|string',
]);
$pin = request()->get('pin');
$field = filter_var(request()->get('pin'), FILTER_VALIDATE_EMAIL) ? 'email' : 'username';
$remember_me = request()->get('remember');
$password = request()->get('password');
$user = User::where("${field}",'=',$pin)->first();
// dd($user);
if ( is_null($user->confirmed_at) || $user->status === "0") {
return redirect()->back()->with('flash-message','The account you tried to login was either not yet confirmed by you or activated by one of our admins.');
}
else {
if (Auth::attempt([$field => $pin ,'password' => $password])){
// dd(auth()->user()->role_id);
switch(auth()->user()->role_id){
/*the roles would be determined*/
case 1 : return redirect()->route("admin.dashboard");
case 2 : return redirect()->route("admin.dashboard");
case 3 : return redirect()->to('/');
}
}
}
}
登录后我得到一个白屏,当我 dd 结果时
$user = User::where("${field}",'=',$pin)->first();
状态字段是一个enum
字段
这是扩展的
解决方案
看起来您的密码不正确,因为您没有处理这种情况。那将解释一个空白屏幕。尝试添加这样的东西,看看它是否进入那里。
if (Auth::attempt([$field => $pin ,'password' => $password])){
// dd(auth()->user()->role_id);
switch(auth()->user()->role_id){
/*the roles would be determined*/
case 1 : return redirect()->route("admin.dashboard");
case 2 : return redirect()->route("admin.dashboard");
case 3 : return redirect()->to('/');
}
} else {
dd('Auth failed!');
}
推荐阅读
- html - 获取ts文件中的视频元素
- jenkins-plugins - 如何在 Jenkins Bulk Builder 插件中使用参数?
- javascript - 无法让 SSL/TLS 和节点正常运行并连接到 SMTP
- django - 存储日志的 Django Gunicorn
- python - 计算列表的所有组合的乘积
- swift - 在 2 个表视图中使用结构(另一个表视图中的表视图)
- python - 在 Python 中检查属性的基础类型
- ios - 关于推送通知与任何其他方式一起工作的困惑
- spring - 如何配置 Spring Security OAuth 2 密码授予以显示自定义登录表单
- php - 为什么 PHP 中的函数 levenshtein 有 255 个字符的限制?