chrysanthos / password-history
Laravel 密码历史记录
4.0.1
2023-01-15 18:59 UTC
Requires
- php: ^8.0|^8.1
- laravel/framework: ^8.0|^9.0
Requires (Dev)
- mockery/mockery: ^1.3.3
- phpunit/phpunit: ^9.0
README
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)。请参阅 许可文件 了解更多信息。