ASP.Net MVC 5使用webconfig凭据和Membership.ValidateUser方法

时间:2015-06-18 17:57:01

标签: c# asp.net-mvc forms-authentication

我通常以这种方式在Web.config文件中存储单个凭据:

Hub

我完全了解TOP NOTCH的安全性和密码强度:)。

然后在我的Custom AuthProvider类中,我通常(旧)方式验证用户:

    <authentication mode="Forms">
      <forms loginUrl="~/Login" timeout="2880">
        <credentials passwordFormat="Clear">
          <user name="admin" password="123" />
        </credentials>
      </forms>
    </authentication>

然而,它工作正常,但该方法已被弃用(过时)。 所以我想用新的方式(我相信这是正确的):

bool result = FormsAuthentication.Authenticate(username, password);

但我得到例外:

  

发生与网络相关或特定于实例的错误   建立与SQL Server的连接。找不到服务器或   无法访问。验证实例名称是否正确   SQL Server配置为允许远程连接。 (提供者:SQL   网络接口,错误:26 - 查找服务器/实例时出错   指定)

显然,访问数据库确实没有问题,因为我正在显示&#34;未经身份验证的&#34;它的内容完美无缺。

所以我的问题是......在不使用弃用方法的情况下,在Web.config中保存凭据的新解决方案是什么?我认为其他人可能会遇到同样的问题,我很想知道为什么会发生这种情况......

提前谢谢!

1 个答案:

答案 0 :(得分:0)

在MVC 5中 FormsAuthentication.Authenticate 的api中没有等效词 如果您使用 Membership.ValidateUser ,则需要在webconfig中定义成员资格,通常是为用户提供角色的服务器,如活动目录服务器。