我在ASP.NET 2.0登录控件上遇到了一些问题。
应用程序可以访问Server。事实上,当我去检索密码时,它甚至会给我发密码。尽管如此,登录控件仍然拒绝登录。
我把这个添加到web.config中
<membership defaultProvider="AspNetSqlProvider">
<providers>
<clear/>
<add name="AspNetSqlProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>我在连接字符串中添加了以下内容:
<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="Data Source=IDC-4\EXCALIBUR;Initial Catalog=allied_nr;Integrated Security=True;Asynchronous Processing=True"/>(请注意,"remove“是为了去掉App_Data目录中的默认连接字符串。)
为什么登录控件不对用户进行身份验证?
发布于 2010-04-16 19:44:13
听起来像是在用纯文本存储密码,但是默认的SqlMembershipProvider密码存储格式是“Hashed”。如果将用户密码存储为散列,则永远无法从数据库中检索密码。
发布于 2010-04-16 20:25:41
关于Memebership供应商的一套很好的文章被写在来自Rolla网站的4个人上。看看它,因为我认为它会有帮助!
https://web.archive.org/web/20211020202857/http://www.4guysfromrolla.com/articles/120705-1.aspx
来自本系列第4部分:
“在成员制度中,有多种情况下用户的凭据可能无效:
所提供的用户名可能不存在于成员目录
H 110用户可能被锁定在外;如果用户试图使用无效密码登录指定次数的尝试(5次,通过
不幸的是,如果凭据无效,ValidateUser(userName,password)方法只返回False,并且不包括关于凭据为什么无效的信息。“
https://stackoverflow.com/questions/2655542
复制相似问题