tondakal/yii2-password-zeus

为Yii Framework 2.0提供有用的密码强度验证工具

安装: 24

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 46

类型:yii2-extension

v1.5.5 2015-11-26 14:37 UTC

README

Latest Stable Version License Total Downloads Monthly Downloads Daily Downloads

此扩展为Yii Framework 2.0提供了一些优秀的密码管理工具。该扩展允许通过模型进行密码强度验证。此外,它还提供了一个高级密码输入小部件,可以显示/隐藏文本并显示密码强度。

最新版本

注意:插件最新版本v1.5.2已发布。有关详细信息,请参阅变更日志

先决条件

  • 确保您已加载正确的jQuery版本(> v1.9.0)。
  • 如果您是从旧版本升级,建议在使用扩展之前清理您的Web资源、本地浏览器缓存并重启浏览器。

StrengthValidator

查看演示
这是一个针对模型属性的密码强度验证器。强度验证器允许您为验证密码或字符串配置以下参数。

  1. 密码是否包含用户名
  2. 密码是否包含电子邮件字符串
  3. 最小字符数
  4. 最大字符数
  5. 最小小写字母字符数
  6. 最小大写字母字符数
  7. 最小数字字符数
  8. 最小特殊字符数

其他功能

  1. 包括5个预设(简单、普通、良好、中等、强)。您无需设置上述每个参数,只需调用一个预设,即可自动设置上述所有参数。
  2. 它包括服务器端和客户端验证。
  3. 这可以根据您的需求与密码输入小部件(下文所述)一起使用。两种强度验证程序略有不同。密码输入小部件专注于显示强度,不会以任何方式限制用户输入。

注意:StrengthValidator不验证密码字段是否为必填项。您需要使用Yii的required规则来做到这一点。

PasswordInput

查看演示
这是一个具有可配置选项和基于Krajee Strength Meter JQuery Plugin的动态强度计的高级密码输入小部件。该小部件提供以下各种功能

  1. 允许您显示/隐藏密码文本(使用bootstrap风格的输入附加组件)。您可以配置此选项是否显示。
  2. 允许您显示一个高级密码强度计,以计算和显示您在输入时的密码强度。
  3. 允许您根据模板控制并定位/设计您的计。
  4. 密码强度计由计条、分数和结论组成。
  5. 尽可能使用Bootstrap 3.0样式,并内置Yii 2.0 ActiveField功能。
  6. 独立工作并补充StrengthValidator。

演示

您可以在此处看到这些功能的演示,包括文档和示例。

安装

安装此扩展的最佳方式是通过composer

注意:检查此扩展的composer.json以了解其需求和依赖项。阅读有关设置您的应用程序的composer.json中minimum-stability设置的web提示/维基

运行以下命令之一:

$ php composer.phar require kartik-v/yii2-password "@dev"

或添加以下内容到您的composer.json文件的require部分:

"kartik-v/yii2-password": "@dev"

到您的composer.json文件的require部分。

用法

StrengthValidator

// add this in your model
use tondakal\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 tondakal\password\PasswordInput;
use tondakal\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