langleyfoxall / laravel-nist-password-rules
🔒 提供遵循NIST特别出版物800-63B中发现的密码相关建议的Laravel验证规则。
v8.0.0
2024-07-03 11:24 UTC
Requires
- php: >=7.2
- divineomega/laravel-password-exposed-validation-rule: ^4.0
- laravel/framework: ^5.5||^6.0||^7.0||^8.0||^9.0||^10.0||^11.0
Requires (Dev)
- fakerphp/faker: ^1.14.1|^1.9.1
- orchestra/testbench: ^5.17.1|^7.0
- php-coveralls/php-coveralls: ^2.0
This package is auto-updated.
Last update: 2024-09-03 11:46:52 UTC
README
此包提供遵循NIST特别出版物800-63B第5节中发现的密码相关建议的Laravel验证规则。
Laravel NIST 密码规则实现了以下建议。
它还提供了方法来返回各种场景的验证规则数组,例如注册、登录和密码更改。这些数组可以直接传递给Laravel验证器。
安装
您可以使用Composer轻松安装Laravel NIST Password Rules。只需从您项目的根目录运行以下命令。
composer require langleyfoxall/laravel-nist-password-rules
如果您以前从未使用过Composer依赖关系管理器,请访问Composer网站获取有关如何开始的信息。
可选地,您可以使用以下Artisan命令发布包的翻译文件。
php artisan vendor:publish --provider="LangleyFoxall\LaravelNISTPasswordRules\ServiceProvider"
用法
要在您的项目中使用Laravel NIST Password Rules,首先使用use
PasswordRules
类,然后调用适当的静态方法以返回适当的验证规则数组。有可用于以下场景的方法。
- 注册
- 更改密码,带旧密码
- 更改密码,不带旧密码
- 可选更改密码,带旧密码
- 可选更改密码,不带旧密码
- 登录
请参阅下面的示例用法语法。
use LangleyFoxall\LaravelNISTPasswordRules\PasswordRules; // Register $this->validate($request, [ 'email' => 'required', 'password' => PasswordRules::register($request->email), ]); // Register, without requiring password confirmation $this->validate($request, [ 'email' => 'required', 'password' => PasswordRules::register($request->email, false), ]); // Change password, with old password $this->validate($request, [ 'old_password' => 'required', 'password' => PasswordRules::changePassword($request->email, 'old_password'), ]); // Change password, without old password $this->validate($request, [ 'password' => PasswordRules::changePassword($request->email), ]); // Optionally change password, with old password $this->validate($request, [ 'old_password' => 'required', 'password' => PasswordRules::optionallyChangePassword($request->email, 'old_password'), ]); // Optionally change password, without old password $this->validate($request, [ 'password' => PasswordRules::optionallyChangePassword($request->email), ]); // Login $this->validate($request, [ 'email' => 'required', 'password' => PasswordRules::login(), ]);
optionallyChangePassword
方法提供了适用于密码可以可选更改的表单的验证规则。