繁体   English   中英

ASP.NET(web.config + sql)中的多个成员资格提供程序

[英]Multiple membership providers in ASP.NET (web.config + sql)

我知道这个问题已经被问了很多,但是我相信我的情况是独一无二的。

我们正在使用ASP.NET SqlMembershipProvider。 但是,我们还有一些安全性较差的内容,我们希望通过将用户直接添加到web.config来确保安全性,例如...

<forms loginUrl="login.aspx" defaultUrl="default.aspx">
  <credentials passwordFormat="Clear">
    <user name="user1" password="123" />
    <user name="user2" password="456" />
  </credentials>
</forms>

是否可以将这种方法与SQL Membership Provider一起使用? 如果是这样,怎么办?

我知道这样做是不好的做法。 这只是我们将网站的某些部分移至asp.net应用程序中的垫脚石。 我们希望其中一些密码易于编辑,而无需进入数据库。

我们希望其中一些密码易于编辑,而无需进入数据库。

我不理解的逻辑是什么。 为什么要在具有内置功能的情况下需要两个,以便在成员资格提供程序中轻松更改密码。

现在,您可以同时使用两者,但是您将需要一种机制来决定何时使用什么,或者必须进行两次身份验证,即首先针对web.config验证用户,如果验证失败,然后针对成员资格DB验证。

但是,如果您还有其他明确取决于会员资格的内容,那么其中某些内容将无法在您的网站上运行。

因此,身份验证是的,可以根据需要进行验证。

我在这里找到了答案: ASP.NET-web.config文件中带有凭据的登录控制

对于我的ValidateUser逻辑,我需要使用:

if (_provider.ValidateUser(username, password)) {
  return true;
}
else {
  return FormsAuthentication.Authenticate(username, password);
}

我知道如何使用提供程序进行身份验证,但是关键是ELSE子句,并使用web.config凭据进行身份验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM