kartik-v/yii2-password

适用于 Yii Framework 2.0 的实用密码强度验证工具

安装次数: 795,484

依赖者: 27

建议者: 0

安全: 0

星标: 75

关注者: 7

分支: 46

开放问题: 1

类型:yii2-extension

v1.5.7 2022-05-16 05:38 UTC

This package is auto-updated.

Last update: 2024-09-16 21:32:56 UTC


README

Krajee Logo
yii2-password Donate       kartikv

Stable Version Untable Version License Total Downloads Monthly Downloads Daily Downloads

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

版本变更

有关各种版本的详细信息,请参阅 变更日志

先决条件

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

StrengthValidator

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

  1. 密码是否包含用户名
  2. 密码是否包含电子邮件字符串
  3. 最小字符数
  4. 最大字符数
  5. 是否允许空格
  6. 最小小写字母字符数
  7. 最小大写字母字符数
  8. 最小数字字符数
  9. 最小特殊字符数
  10. 密码是否已泄露并且是 Have I Been Pwned 列表的一部分。

其他功能

  1. 包括 5 个预设(简单、普通、公平、中等和强大)。您可以通过调用预设来自动设置上述每个参数,而不是设置每个参数。
  2. 它包括服务器和客户端验证。
  3. 此功能可以根据您的需要与密码输入小部件(以下将描述)一起使用。两个的强度验证程序略有不同。密码输入小部件专注于显示强度,不限制用户输入。

注意:StrengthValidator 不验证密码字段是否为必需。您需要使用 Yii 的 required 规则来执行此操作。

PasswordInput

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

  1. 允许您显示/隐藏密码文本(使用 Bootstrap 风格的输入附加组件)。您可以配置此选项是否显示。
  2. 允许您显示一个高级密码强度计来计算并显示您输入时的密码强度。
  3. 允许您根据模板控制和定位/样式化您的计。
  4. 密码强度计由计尺、分数和判决组成。
  5. 尽可能使用 Bootstrap 3.0 样式,并内置 Yii 2.0 ActiveField 功能。
  6. 独立工作,并与 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