我有非标准的登录要求。
我们假设对于同一个用户,db中有2个密码列。 Laravel需要检查第一个密码,如果失败,则根据DB中的第二个密码验证密码。 如果两个密码不匹配,则在登录检查中返回false。 但是,应用程序需要根据使用的密码设置模式。
如果匹配密码A,则模式可以是A或者为true。 如果密码B匹配,则模式可以是B或者为假。 或者沿着这些方向发展。
我使用了Laravel的开箱验证。 如果第一个密码失败以及在设置“模式”时添加其他编码的位置,有人可以指出如何进行额外检查的正确方向。
非常感谢你提前
答案 0 :(得分:1)
您需要覆盖login()
app/Http/Controllers/Auth/LoginController.php
功能
该函数的原始定义在LoginController使用的特性中:Illuminate\Foundation\Auth\AuthenticatesUsers
您可以从那里开始并进行修改。
如果您想要跟踪用户在登录时使用的密码类型,我将在login()函数中设置Session
变量。