CreateUserWizard中修改输入密码、安全问题等属性设置的方法

      使用CreateUserWizard来创建用户很方便,但使用的方式很难理解,“密码最短长度为 7,其中必须包含以下非字母数字字符: 1。”的问题,其实这句话的实际意思是:“密码最短长度为 7,其中必须包含至少1个非字母数字字符。”。非字母数字字符就是!@#等字符,实际上这提示可以在 InvalidPasswordErrorMessage属性上修改的,比如“密码最短长度为 {0},其中必须至少包含{1}个非字母数字字符:。”

      参数1表示最短密码长度,参数2表示至少包含的非字母数字字符,那么如果我不需要这些设置怎么办呢?在控件上设置吗?很遗憾微软并没有提供这个方便,需要到web.config里面去修改。

      往Membership的providers节添加:
minRequiredPasswordLength=”3″
minRequiredNonalphanumericCharacters=”0″
这两个属性,从名字就可以看出来了:第一个属性表示密码的最少长度,第二个属性表示至少输入的非字母数字字符个数,设为0就OK了。

那么如果我也想去掉安全问题呢?

再加上:
requiresUniqueEmail=”false”
requiresQuestionAndAnswer=”false”
问题就解决了  

延伸内容:Membership的web.config设置项

1    < membership defaultProvider=”AspNetSqlProvider”>
2      <providers >
3         <add connectionStringName=”在配置文件中已存在的数据库连接字符串名称”
4             applicationName =”/”
5             description =”"
6              minRequiredPasswordLength=”6″
7              minRequiredNonalphanumericCharacters=”0″
8              requiresUniqueEmail=”false”
9              enablePasswordRetrieval=”false”
10              enablePasswordReset=”false”
11              requiresQuestionAndAnswer=”false”
12              passwordFormat=”Hashed”
13              name=”AspNetSqlProvider”
14              type=”System.Web.Security.SqlMembershipProvider”/>
15      </providers >
16     </membership>

defaultProvider : 默认数据提供程序
connectionStringName : 数据库连接字符串节点的key
applicationName : 使用该membership的程序名称
description : 描述信息
minRequiredPasswordLength : 密码最少多少位
minRequiredNonalphanumericCharacters : 必须包含多少个特殊字符
requiresUniqueEmail : 注册时是否需要email唯一.
enablePasswordRetrieval : 允许找回密码否
enablePasswordReset : 允许修改密码否
requiresQuestionAndAnswer :  注册时是否必须填写密码我问题和答案
passwordFormat : 密码加密方式
name : 名称
type : 类的命名空间  

Categories: 技术爱好

Leave a Comment