Laravel 默认登录身份验证生成意外错误
Posted
技术标签:
【中文标题】Laravel 默认登录身份验证生成意外错误【英文标题】:Laravel default auth for login generating unexpected error 【发布时间】:2020-11-17 11:58:00 【问题描述】:我正在使用 laravel (6.2) 的默认身份验证进行用户身份验证。在我的登录表单中,当我点击 laravel 提供的默认登录路由('login')时,它向我显示 wrong credential provided 错误,尽管我的凭据是正确的。我使用播种机生成我的第一个用户(该站点的默认用户)并使用全局bcrypt()
(也尝试过Hash::make()
)方法来散列我的密码。我正在使用默认的 'file' 会话驱动程序。
最有趣的部分是,当我触发php artisan migrate:fresh --seed
命令或php artisan migrate
后跟php artisan db:seed
命令时,身份验证第一次正常工作,这意味着当我在触发这些命令后立即尝试登录时身份验证工作正常,直到注销。但在那之后,当我手动注销或会话无效时,即使我的凭据正确,我也无法登录。有什么解决办法吗?
这里的播种机参考我申请的默认用户
\App\User::create([
'name' => "John Doe",
'email' => 'john@example.com',
'password' => Hash::make('password')
]);
【问题讨论】:
尝试上传你的代码,比如你正在创建的工厂等 如果用户表发生任何更改,请在注销后检查您的数据库 @AkhtarMunir 我使用的所有东西都带有默认身份验证,没有修改任何用于登录的控制器或特征,这就是为什么没有上传代码。 @MuhammadRizwan 数据库中没有更改,因为我正在维护“文件”会话驱动程序,因此数据库没有更改。甚至不在用户表中 【参考方案1】:您是否在登录功能中检查为Hash::check(normal_password,hashed_password);
?
【讨论】:
正如我之前提到的,我让 laravel 使用它的默认身份验证来处理登录。所以是的,在幕后 laravel 正在检查纯密码和散列密码 请不要使用其他问题的答案。您可以使用 cmets 获取更多信息。以上是关于Laravel 默认登录身份验证生成意外错误的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 默认使用 Vuejs 进行身份验证,仅在登录后提供 spa
Laravel 5.2 需要一个实现默认身份验证驱动程序/“Multi-Auth”的示例。现在需要很多工作,因为[重复]