chrysanthos/password-history

Laravel 密码历史记录

4.0.1 2023-01-15 18:59 UTC

This package is auto-updated.

Last update: 2024-09-15 22:43:42 UTC


README

Latest Version on Packagist GitHub Tests Action Status Total Downloads

Laravel 包维护加密用户密码历史记录,以便您可以防止用户使用之前使用过的密码。

安装

您可以通过 composer 安装此包

composer require chrysanthos/password-history

使用

包服务提供程序会自动注册,并提供一个迁移脚本来运行。

运行您的迁移

php artisan migrate

在您的 App\Http\Controllers\Auth\ResetPasswordController 中,用以下代码覆盖 Laravel 的默认 rules 方法

    use Chrysanthos\PasswordHistory\Rules\NoOldPasswords;

    /**
     * Get the password reset validation rules.
     *
     * @return array
     */
    protected function rules()
    {
        return [
            'token' => 'required',
            'email' => 'required|email',
            'password' => [
                'required', 'confirmed', 'min:8',
                new NoOldPasswords(User::whereEmail(request('email'))->first()->id, request('password'))
            ],
        ];
    }

注意:如果您更改了默认的 Laravel auth ResetPasswordController,则需要触发 Laravel 内置的 PasswordReset 事件。

    use Illuminate\Auth\Events\PasswordReset;

    event(new PasswordReset($user));

测试

composer test

变更日志

请参阅 变更日志 了解最近的变化信息。

贡献

请参阅 贡献指南 获取详细信息。

安全性

如果您发现任何安全相关的问题,请通过推特(@chrysanthos_cy)发消息给我,而不是使用问题追踪器。

鸣谢

许可协议

MIT 许可协议(MIT)。请参阅 许可文件 了解更多信息。