starfolksoftware / password-history
此包已被弃用,不再维护。没有建议的替代包。
将密码历史添加到您的laravel应用程序
v0.6.1
2020-10-15 00:07 UTC
Requires
- php: ^7.4
- illuminate/contracts: ^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.3
- vimeo/psalm: ^3.11
This package is auto-updated.
Last update: 2021-08-15 02:00:16 UTC
README
将密码历史添加到您的laravel应用程序
安装
您可以通过composer安装此包
composer require starfolksoftware/password-history
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --provider="StarfolkSoftware\PasswordHistory\PasswordHistoryServiceProvider" --tag="migrations" php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="StarfolkSoftware\PasswordHistory\PasswordHistoryServiceProvider" --tag="config"
这是发布配置文件的内容
[
/*
* When using the "HasPasswordHistory" trait from this package, we need to know which
* Eloquent model should be used to retrieve your roles. Of course, it
* is often just the "PasswordHistory" model but you may use whatever you like.
*
* The model you want to use as a PasswordHistory model needs to implement the
* `StarfolkSoftware\PasswordHistory\Contracts\PasswordHistory` contract.
*/
'password_history_class' => \StarfolkSoftware\PasswordHistory\PasswordHistory::class,
/**
* The table name for password histories.
*/
'table_name' => 'password_histories',
/**
* The models password column name
*/
'models_password_column_name' => 'password',
/**
* Password change can not be the same with any password in the last
* {{ password_history_check_length }} recent passwords
*/
'password_history_check_length' => env('PASSWORD_HISTORY_CHECK_LENGTH', 5),
/*
* The user model that should be used. If null, the default user provider from your
* Laravel authentication configuration will be used.
*/
'user_model' => \Illuminate\Foundation\Auth\User::class,
]
使用方法
注册模型
使用此包,您可以跟踪任何模型的密码历史。要使您的模型具有 passwordhistorable 功能,请将 HasPasswordHistory 添加到模型类中,如下所示
namespace App\Models; use Illuminate\Database\Eloquent\Model; use StarfolkSoftware\PasswordHistory\Traits\HasPasswordHistory; class User extends Model { use HasPasswordHistory; ... }
当您的模型上触发 saved 事件时,密码历史将保存到数据库中。请注意,在首次创建模型时也会触发 saved 事件。
NotInRecentPasswordHistory 验证规则
如果您想验证密码不在最近的密码历史中,可以使用以下代码片段中的 NotInRecentPasswordHistory 规则
use StarfolkSoftware\PasswordHistory\Rules\NotInRecentPasswordHistory; validator(collect($model)->toArray(), [ 'password' => NotInRecentPasswordHistory::ofUser($model), ])->validate();
测试
composer test
Psalming
./vendor/bin/psalm --show-info=true
变更日志
有关最近更改的更多信息,请参阅变更日志
贡献
有关详细信息,请参阅贡献指南
安全漏洞
请参阅我们的安全策略了解如何报告安全漏洞。
鸣谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。