2017-03-18 69 views
0

我有一个非标准的登录要求。比较登录Laravel时的2个密码

我们假设对于同一个用户,db中有2个密码列。 Laravel需要检查第一个密码(如果失败),然后根据数据库中的第二个密码验证密码。 如果两个密码不匹配,则在登录检查中返回false。 但是,应用程序需要根据使用的密码来设置模式。

如果密码A匹配,那么模式可以是A或者是真的。 如果密码B匹配,那么模式可以是B或者是false。 或沿着这些线。

我已经使用Laravel的开箱验证。 如果第一个密码失败,并且在设置“模式”时添加其他编码的位置,有人可以请我指出正确的方向如何执行附加检查。

非常感谢您提前

回答

1

你需要覆盖在app/Http/Controllers/Auth/LoginController.php

login()函数的函数的原始定义是在性状的LoginController使用:Illuminate\Foundation\Auth\AuthenticatesUsers你可以从那里开始,创造你的修改。

如果您想保留跟踪用户在登录时使用的密码类型,我将在login()函数中设置一个Session变量。