[英]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.