首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

2.4  智能密码强度提示的PasswordStrength控件

智能密码强度提示功能是非常实用的一种密码提示功能,它能够告诉用户自己所输入密码的安全性的强弱,效果如图2.6所示。单个ASP.NET服务器端控件不能提供该功能。值得庆幸的是,ASP.NET AJAX Control Toolkit中的PasswordStrength控件能够实现智能密码强度提示的功能。

图2.6  智能密码强度提示效果图

声明PasswordStrength控件的语法类似如下:

<ajaxToolkit:PasswordStrength ID="PS" runat="server"

    TargetControlID="TextBox控件的ID属性的值"

    DisplayPosition="显示位置"

    StrengthIndicatorType="强度提示方式"

    PreferredPasswordLength="10"

    PrefixText="Strength:"

    TextCssClass="提示文本样式"

    MinimumNumericCharacters="0"

    MinimumSymbolCharacters="0"

    RequiresUpperAndLowerCaseCharacters="false"

    TextStrengthDescriptions="很差;差;一般;好;很好"

    TextStrengthDescriptionStyles="样式1;样式2;样式3;样式4;样式5"

    CalculationWeightings="50;15;15;20" />

另外,PasswordStrength控件包含多个常用属性,如TargetControlID、DisplayPosition、StrengthIndicatorType、HelpStatusLabelID等。具体说明如表2.4所示。

表2.4  PasswordStrength控件的常用属性及其说明

   

   

TargetControlID

使用该控件的ASP.NET服务器端控件的ID

HelpStatusLabelID

显示帮助文本的Label控件的ID属性的值

DisplayPosition

强度提示显示的位置

HelpHandlePosition

显示帮助文本的Label控件的位置

StrengthIndicatorType

强度提示的类型,可以为TextBarIndicator

PreferredPasswordLength

密码的首选长度

PrefixText

如果强度提示类型为Text,该属性指定提示文本的前缀

MinimumNumericCharacters

数字字符的最小数量

MinimumSymbolCharacters

特殊字符(symbol)的最小数量

RequiresUpperAndLowerCaseCharacters

是否要求大小写混合形式

TextStrengthDescriptions

强度提示的描述文本,它是一个以分号分隔的字符串列表

TextCssClass

如果强度提示类型为Text,该属性指定提示文本的样式

BarBorderCssClass

图提示的边框样式

BarIndicatorCssClass

图提示的文本样式

HelpHandleCssClass

帮助文本的Label控件的样式

TextStrengthDescriptionStyles

以分号分隔的样式列表。每一种样式将应用于其对应的强度提示的文本

CalculationWeightings

密码组成部分所占的比重,其值的格式为“A;B;C;D”。其中,A表示长度的比重,B表示数字的比重,C表示大写的比重,D表示特殊字符的比重。ABCD四个值的和必须为100,默认值为“50;15;15;20”

StrengthIndicatorType属性指定强度提示的类型,它的值可以为“Text”或“BarIndicator”。如果为“Text”,则使用文本显示提示信息;如果为“BarIndicator”,则使用图像显示提示信息。MinimumNumericCharacters和MinimumSymbolCharacters属性分别指定数字和特殊字符的最小数量。

TextStrengthDescriptions属性指定描述密码强度的字符串,它的值由分号(;)分隔。下述代码实例描述了5种强度(很差、差、一般、好和很好)的密码。

<ajaxToolkit:PasswordStrength ID="ps" runat="server"

    TextStrengthDescriptions="很差;差;一般;好;很好"

    ……

/>

TextStrengthDescriptionStyles属性指定用于每一种强度提示信息的样式,它的值由分号(;)分隔。下述代码实例分别为5种强度指定了相应的样式。

<ajaxToolkit:PasswordStrength ID="ps" runat="server"

    TextStrengthDescriptions="很差;差;一般;好;很好"

    TextStrengthDescriptionStyles="样式1;样式2;样式3;样式4;样式5"

    ……

/>

CalculationWeightings属性指定密码组成的各个部分所占的比重,它的值的格式为“A;B;C;D”。其中,A表示长度的比重,B表示数字的比重,C表示大写的比重,D表示特殊字符的比重。

注意:CalculationWeightings属性中的A、B、C和D这4个值都必须为整数,且它们的和为100。该属性的默认值为“50;15;15;20”。

在下述代码实例中,PasswordStrength.aspx页面演示了为TextBox控件(ID属性的值为tbInput)提供了智能密码强度提示的功能。PasswordStrength控件的ID值为psInput。该控件设置数字字符和特殊字符的最小数量都为2,密码组成的各个部分所占的比重(CalculationWeightings属性的值)为“40;20;20;20”。

<!-- AjaxTextInput/PasswordStrength.aspx页面 -->

<%@ Page Language="C#" StylesheetTheme="ASPNETAjaxWeb" %>

<head runat="server"><title>智能密码强度提示</title></head>

<asp:ScriptManager ID="sm" runat="server"></asp:ScriptManager><br />

<asp:TextBox ID="tbInput" runat="server" SkinID="tbSkin"

    Width="300px"></asp:TextBox><br />

<asp:Label ID="lbHelp" runat="server"></asp:Label>

<ajaxToolkit:PasswordStrength ID="psInput" runat="server"

    TargetControlID="tbInput" DisplayPosition="RightSide"

    TextCssClass="PasswordStrengthText" HelpHandlePosition="BelowLeft"

    HelpStatusLabelID="lbHelp" MinimumNumericCharacters="2"

    MinimumSymbolCharacters="2" PreferredPasswordLength="10"

    RequiresUpperAndLowerCaseCharacters="true"

    StrengthIndicatorType="Text"

    TextStrengthDescriptions="很差;差;一般;好;很好"

    CalculationWeightings="40;20;20;20"></ajaxToolkit:PasswordStrength>

上述代码实例的执行结果如图2.7所示。

图2.7  演示智能密码提示的功能

注意:为了更加清楚地说明智能密码提示的效果,特意没有把tbInput控件的TextMode属性的值设置为Password。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论