我知道这个问题已被提出(并已经回答),但我相信我的情况是独一无二的。
我们正在使用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成员资格提供程序一起使用?如果是这样,怎么样?
我知道这样做是不好的做法。这只是我们将部分网站移动到asp.net应用程序中的垫脚石。我们希望这些密码可以在不进入数据库的情况下轻松编辑。
答案 0 :(得分:0)
我们想要一些密码 无需去,就可以轻松编辑 数据库。
我不理解的是什么逻辑。为什么您需要其中两个,而内置功能可以在会员提供商中轻松更改密码。
现在,您可以同时使用这两种方法,但是您需要使用机制来决定何时使用或必须进行两次身份验证,即首先根据web.config验证用户,如果失败,则对成员资格DB进行验证。
但是,如果您明确依赖会员资格,那么其中一些内容将无法在您的网站上运行。
所以身份验证,是的,它是可行的。
答案 1 :(得分:0)
我在这里找到了答案:ASP.NET - Login Control with Credentials in web.config file
对于我的ValidateUser逻辑,我需要使用:
if (_provider.ValidateUser(username, password)) {
return true;
}
else {
return FormsAuthentication.Authenticate(username, password);
}
我知道如何使用提供程序进行身份验证,但密钥是ELSE子句,并使用web.config凭据进行身份验证。