infinitypaul/laravel-password-history-validation

防止用户重复使用近期使用过的密码

2.0.2 2024-09-11 06:34 UTC

This package is auto-updated.

Last update: 2024-09-11 06:35:40 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

防止用户重复使用近期使用过的密码。

安装

您可以通过composer安装此包

composer require infinitypaul/laravel-password-history-validation

配置

要开始使用,您需要发布配置文件,并迁移数据库

php artisan vendor:publish --tag=password-config

根据您的项目修改配置文件,然后迁移数据库

php artisan migrate

使用方法

此包将监视模型的创建和更新事件(请检查配置文件以获取设置)并自动记录密码散列。

在您的表单请求或行内验证中,您只需实例化NotFromPasswordHistory类,并将当前用户作为参数传递即可

<?php
use Infinitypaul\LaravelPasswordHistoryValidation\Rules\NotFromPasswordHistory;

$this->validate($request, [
            'password' => [
                'required',
                new NotFromPasswordHistory($request->user())
            ]
        ]);

清理旧记录 - (可选)

因为我们将在您的数据库中存储散列密码,当您有大量用户时,您的数据库可能会变得很长

将PasswordHistoryTrait添加到您的用户模型中

<?php
use Infinitypaul\LaravelPasswordHistoryValidation\Traits\PasswordHistoryTrait;

class User extends Authenticatable
{
    use Notifiable, PasswordHistoryTrait;

}

然后您可以运行以下Artisan命令

php artisan password-history:clear

变更日志

请参阅CHANGELOG以获取更多信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件infinitypaul@live.com而不是使用问题跟踪器。

我该如何感谢您?

为什么不星标GitHub仓库?我很希望得到关注!为什么不分享此仓库的链接到Twitter或HackerNews?传播这个信息!

别忘了关注我的twitter

谢谢!Edward Paul。

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。