关于注册用户时密码的校验
Microsoft Visual Studio 2005中,我依次进行如下操作:
点击菜单“文件”,“新建”,“网站”,选择“个人网站初学者工具包”,点击“确定”,
然后运行,点击浏览器页面右上角的“注册”链接进行注册,输入完用户各信息后,点击“创建用户”按钮,这时提示“密码最短长度为 7,其中必须包含以下非字母数字字符: 1。”。
接着我做如下修改:
在web.config文件<system.web>中添加如下代码:
<membership>
<providers>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
</providers>
</membership>
这时再次运行,点击浏览器页面右上角的“注册”链接进行注册,输入完用户各信息后,点击“创建用户”按钮,仍然提示“密码最短长度为 7,其中必须包含以下非字母数字字符: 1。”。
退出运行,做如下修改:
将minRequiredPasswordLength="7"改为minRequiredPasswordLength="5",将minRequiredNonalphanumericCharacters="1"改为minRequiredNonalphanumericCharacters="0",
再次运行,点击浏览器页面右上角的“注册”链接进行注册,此时程序报错如下:
“/PersonalSite”应用程序中的服务器错误。
--------------------------------------------
配置错误
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。
分析器错误信息: 项“AspNetSqlMembershipProvider”已添加。
源错误:
行 30: <membership>
行 31: <providers>
行 32: <add name="AspNetSqlMembershipProvider"
行 33: type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
行 34: connectionStringName="LocalSqlServer"
源文件: C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\WebSites\PersonalSite\web.config 行: 32
--------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.1433; ASP.NET 版本:2.0.50727.1433
请问有谁知道这是怎么回事?多谢!
------解决方案--------------------
密码最短长度为 7,其中必须包含以下非字母数字字符: 1
这个提示本身是错误的。
当然出这个提示跟你设置也有关。
最近正在研究 asp.net 2.0 新增的login控件,发现系统默认的密码安全性要求较高,即“密码最短长度为 7,其中必须包含以下非字母数字字符: 1。”,对于一般王展来说没有必要(连windows2003sever都没有默认要求这样复杂的密码)。一些参考资料提供的修改方法是在machine.config里面修改。但是除非你有主机的管理权,否则是不能修改的。所以还是建议到web.config文件里面修改。
方法是在web.config的<system.web>节点里加入子标签:
<membership>
<providers>
<remove name="AspNetSqlMembershipProvider"/>
<add name="AspNetSqlMembershipProvider"
type=" System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExp