1

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

我们正在使用 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 应用程序的垫脚石。我们希望其中一些密码无需进入数据库即可轻松编辑。

4

2 回答 2

0

我们希望其中一些密码无需进入数据库即可轻松编辑。

这是什么逻辑,我不明白。为什么您需要其中两个,而您具有在会员提供程序中轻松更改密码的内置功能。

现在,您可以同时使用这两种方法,但您需要一种机制来决定何时使用什么,或者您必须进行两次身份验证,即首先根据 web.config 验证用户,如果失败则根据会员数据库进行验证。

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

所以身份验证,是的,它是可行的。

于 2011-04-01T17:21:10.563 回答
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 凭据进行身份验证。

于 2011-04-04T14:07:55.510 回答