首页 > 解决方案 > Laravel 自定义登录/密码重置逻辑

问题描述

我需要自定义 Laravel 身份验证的逻辑。我找到了一个解决方案,通过覆盖类似的credentials方法LoginController

return ['email' => $request->{$this->username()}, 'password' => $request->password, 'status_id' => $whatever];

但是现在我发现了一个问题,用户仍然可以重置他们的密码,然后他们会自动登录。那么如何为不应被允许登录的用户禁用密码重置?

标签: phpauthenticationlaravel-5

解决方案


ResetsPasswordstrait上有一个方法叫做resetPassword()

覆盖它Auth/ResetPasswordController并替换该行

$this->guard()->login($user);

密码重置后您想要实现的任何功能。

如果您想阻止禁用的用户重置密码,请使用中间件检查帐户是否已禁用,然后再继续密码重置。


推荐阅读