lucaterribili/laravel-password-history-validation

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

2.0.0 2022-02-25 12:19 UTC

This package is auto-updated.

Last update: 2024-09-25 18:32:42 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

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

安装

您可以通过composer安装此包

composer require lucaterribili/laravel-password-history-validation

配置

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

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

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

php artisan migrate

用法

此包将观察模型的创建和更新事件(请检查配置文件进行设置)并自动记录密码哈希。

在您的表单请求或内联验证中,您只需要实例化NotFromPasswordHistory类,并传入当前用户作为参数

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

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

清理旧记录 - (可选)

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

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

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

class User extends Authenticatable
{
    use Notifiable, PasswordHistoryTrait;

}

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

php artisan password-history:clear

更新日志

请参阅更新日志以获取有关最近更改的更多信息。

贡献

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

安全

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

我该如何感谢您呢?

为什么不给github仓库点个赞?我很期待您的关注!为什么不把此仓库的链接分享到Twitter或HackerNews上?传播一下消息吧!

别忘了在LinkedIn上关注我

谢谢!Luca Terribili。

许可

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