thanhlyvan/laravel-password-history-validation

防止用户重复使用最近使用的密码

v10.0.0 2023-03-16 08:57 UTC

This package is not auto-updated.

Last update: 2024-09-27 14:17:05 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

变更日志

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

贡献

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

安全性

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

如何感谢您?

为什么不给github仓库加星标?我非常希望得到关注!为什么不在Twitter或HackerNews上分享这个仓库的链接?传播一下消息!

别忘了关注我的twitter

谢谢!Edward Paul。

许可证

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