kartik-v / yii2-password
适用于 Yii Framework 2.0 的实用密码强度验证工具
v1.5.7
2022-05-16 05:38 UTC
Requires
- kartik-v/strength-meter: ~1.1
- kartik-v/yii2-krajee-base: >=3.0.4
README
yii2-password

此扩展为 Yii Framework 2.0 提供了一些出色的密码管理工具。扩展允许通过模型进行密码强度验证。此外,它还提供了一个高级密码输入小部件,允许显示/隐藏文本并显示密码强度。
版本变更
有关各种版本的详细信息,请参阅 变更日志。
先决条件
- 确保您已加载正确的 jQuery 版本(> v1.9.0)。
- 如果您是从旧版本升级,建议在使用扩展前清理您的网络资源、本地浏览器缓存并重启浏览器。
StrengthValidator
查看演示
这是一个用于模型属性的密码强度验证器。强度验证器允许您为验证密码或字符串配置以下参数。
- 密码是否包含用户名
- 密码是否包含电子邮件字符串
- 最小字符数
- 最大字符数
- 是否允许空格
- 最小小写字母字符数
- 最小大写字母字符数
- 最小数字字符数
- 最小特殊字符数
- 密码是否已泄露并且是 Have I Been Pwned 列表的一部分。
其他功能
- 包括 5 个预设(简单、普通、公平、中等和强大)。您可以通过调用预设来自动设置上述每个参数,而不是设置每个参数。
- 它包括服务器和客户端验证。
- 此功能可以根据您的需要与密码输入小部件(以下将描述)一起使用。两个的强度验证程序略有不同。密码输入小部件专注于显示强度,不限制用户输入。
注意:StrengthValidator 不验证密码字段是否为必需。您需要使用 Yii 的
required
规则来执行此操作。
PasswordInput
查看演示
这是一个具有可配置选项和基于 Strength Meter JQuery 插件 的动态强度计的高级密码输入小部件,由 Krajee 提供。小部件提供以下功能
- 允许您显示/隐藏密码文本(使用 Bootstrap 风格的输入附加组件)。您可以配置此选项是否显示。
- 允许您显示一个高级密码强度计来计算并显示您输入时的密码强度。
- 允许您根据模板控制和定位/样式化您的计。
- 密码强度计由计尺、分数和判决组成。
- 尽可能使用 Bootstrap 3.0 样式,并内置 Yii 2.0 ActiveField 功能。
- 独立工作,并与 StrengthValidator 兼容。
演示
您可以在这里查看这些函数的用法,包括文档和示例。
安装
安装此扩展的首选方式是通过composer。
注意:检查此扩展的composer.json文件以了解其依赖项和需求。阅读有关为您的应用程序的composer.json设置
minimum-stability
设置的网络提示/维基。
运行以下命令之一:
$ php composer.phar require kartik-v/yii2-password "@dev"
或者将以下内容添加到您的composer.json
文件的require
部分:
"kartik-v/yii2-password": "@dev"
使用
使用
StrengthValidator
// add this in your model use kartik\password\StrengthValidator; // use the validator in your model rules public function rules() { return [ [['username', 'password'], 'required'], [['password'], StrengthValidator::className(), 'preset'=>'normal', 'userAttribute'=>'username'] ]; }
PasswordInput
// add this in your view use kartik\password\PasswordInput; use kartik\widgets\ActiveForm; // optional $form = ActiveForm::begin(['id' => 'login-form']); echo $form->field($model,'username'); echo $form->field($model, 'password')->widget(PasswordInput::classname(), [ 'pluginOptions' => [ 'showMeter' => true, 'toggleMask' => false ] ]);
许可证
yii2-password采用BSD-3-Clause许可证发布。有关详细信息,请参阅捆绑的LICENSE.md
。