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

本文关键字:Member ValidateUser 方法 webconfig Net MVC 使用 ASP | 更新日期: 2023-09-27 17:56:55

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

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

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

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

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

它工作正常,但是,该方法已弃用(过时)。所以我想使用新方式(我认为这是正确的事情):

bool result = Membership.ValidateUser(username, password);

但我得到例外:

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

访问数据库显然没有真正的问题,因为我显示其中的"未经身份验证"的内容非常好。

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

提前谢谢你!

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

FormsAuthentication的 API 中没有等效项。在 MVC 5 中进行身份验证如果您使用 Member.ValidateUser,则需要在 webconfig 中定义成员资格,通常是像 Active Directory 服务器一样为用户提供角色的服务器。