kettasoft / pass-audit
PassAudit 是一个强大且高效的 Laravel 扩展包,旨在增强应用程序中用户密码的安全性。此扩展包提供了一种全面的解决方案,以防止用户重复使用以前的密码,从而降低未经授权访问的风险。
v1.0.0
2024-07-17 19:29 UTC
Requires (Dev)
- laravel/framework: ^10
- mockery/mockery: 1.6.x-dev
- orchestra/testbench: ^8.0
- pestphp/pest: 2.x-dev
This package is auto-updated.
Last update: 2024-09-18 07:40:56 UTC
README
PassAudit 是一个强大且高效的 Laravel 扩展包,旨在增强应用程序中用户密码的安全性。此扩展包提供了一种全面的解决方案,以防止用户重复使用以前的密码,从而降低未经授权访问的风险。
安装
您可以通过 Composer 安装此扩展包
composer require kettasoft/pass-audit
配置
- 注册服务提供者
- 将服务提供者添加到 config/app.php 文件中的 providers 数组中
'providers' => [ Kettasoft\PassAudit\PassAuditServiceProvider::class, ... ],
发布配置
- 发布扩展包配置文件
php artisan vendor:publish --provider="Kettasoft\PassAudit\PassAuditServiceProvider" --tag="config"
- 这将在您的配置目录中创建一个 passaudit.php 文件,您可以在其中自定义设置。
发布迁移
- 发布迁移文件
php artisan vendor:publish --provider="Kettasoft\PassAudit\PassAuditServiceProvider" --tag="migrations"
然后,运行迁移
php artisan migrate
使用
在用户模型中使用特性
将 PassAudit
特性添加到您的 User
模型中
namespace App\Models; use Illuminate\Foundation\Auth\User as Authenticatable; use Kettasoft\PassAudit\PassAudit; class User extends Authenticatable { use PassAudit; //... }
实现接口到用户模型
- 确保您的
User
模型实现了HasPassAuditChecker
namespace App\Models; use Kettasoft\PassAudit\Contracts\HasPassAuditChecker; class User extends Authenticatable implements HasPassAuditChecker { // }
在请求中使用规则验证
- 您可以在请求验证中使用
PassAuditRule
以防止用户重复使用以前的密码
namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Kettasoft\PassAudit\Rules\PassAuditRule; class UpdatePasswordRequest extends FormRequest { public function rules() { return [ 'password' => ['required', 'string', 'min:8', new PassAuditRule($this->user())], ]; } }
自定义
您可以通过修改 passaudit.php
配置文件来自定义扩展包的行为。选项包括
- 要跟踪的以前密码的数量
- 要使用的散列算法
贡献
感谢您考虑为 PassAudit 贡献!在提交拉取请求之前,请阅读贡献指南。
许可证
PassAudit 是开源软件,采用 MIT 许可证。