我的网站已进行表单身份验证,一切都很好。现在,我想创建一个子目录,并对其进行密码保护,但是!我需要该子目录使用与整个网站使用的完全不同的登录名/密码集。

举例来说,我的网站用户存储在数据库的“用户”表中。但是对于子目录,我希望从“ SubdirUsers”表中获取用户。可能具有完全不同的结构。

因此,我需要登录名完全平行,如:


登录整个网站并不能使您也登录到子目录
在整个网站上单击“注销”不会使您在子目录中的登录无效
反之亦然


我不想为子目录创建单独的虚拟应用程序,因为我想共享所有库,用户控件以及应用程序状态和缓存。换句话说,它必须是相同的应用程序。

我也不想只是在“用户”表中添加一个标志,以表明这是整个网站用户还是子目录用户。用户列表必须来自不同的来源。

现在,我看到的唯一选择是为子目录滚动我自己的Forms Auth。

有人可以提出更好的选择吗?

最佳答案

我认为您可以使用此代码通过任何提供商验证用户

if (Membership.Providers["myprovider"].ValidateUser("USER", "PWD")) {

  //your code

}

09-30 18:52