无法将现有SQL成员资格提供程序添加到MVC 5

时间:2015-05-25 18:49:00

标签: asp.net-mvc sqlmembershipprovider

我正在将现有的ASP.net表单站点转移到MVC 5,我无法使用户身份验证工作。我无法理解我失踪的是什么。我添加了数据库和连接字符串并确保它们正常工作。然后我将以前的web.config的成员资格部分粘贴到新项目中:

    <membership defaultProvider="MyProvider" hashAlgorithmType="SHA1">
  <providers>
    <add name="MyProvider"
         connectionStringName="LocalSqlServer"
         applicationName="/"
         description=""
         requiresUniqueEmail="false"
         enablePasswordRetrieval="true"
         requiresQuestionAndAnswer="false"
         passwordFormat="Clear"
         minRequiredPasswordLength="4"
         minRequiredNonalphanumericCharacters="0"
         type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </providers>
</membership>

当我尝试使用Membership.ValidateUser(user.Username,user.Password)进行身份验证时,它总是返回false。在成员资格上设置一个断点显示它使用“MyProvider”,但我注意到它使用了另一个哈希算法,因此我手动添加了SHA1。至少这是我认为SQL Membership Provider正在使用的。

那我在这里错过了什么?它可能是重要的,因为似乎没有任何作用。我甚至尝试从数据库中插入散列密码,而不是模型(user.Password)中的密码,同时在web.config中使用passwordFormat,而没有任何区别。

欢迎任何建议!会员提供者真的不是我的强者。

0 个答案:

没有答案