我的网站有表单验证,一切正常。现在我想创建一个子目录并为其设置密码保护,但是!我需要该子目录使用与整个网站使用的一组完全不同的登录名/密码。
例如,我将网站的用户存储在数据库的“用户”表中。但是对于子目录,我希望从“SubdirUsers”表中获取用户。这可能具有完全不同的结构。
因此,我需要登录完全并行,如:
- 登录整个网站不会让您也登录到子目录
- 在整个网站上单击“注销”不会使您在子目录中的登录无效
- 反之亦然
我不想为子目录创建单独的虚拟应用程序,因为我想共享所有库、用户控件以及应用程序状态和缓存。换句话说,它必须是同一个应用程序。
我也不只想在“用户”表中添加一个标志,指示这是整个网站用户还是子目录用户。用户列表必须来自不同的来源。
目前,我看到的唯一选择是为子目录滚动我自己的 Forms Auth。
有人可以提出更好的选择吗?
最佳答案
我认为您可以使用此代码通过任何提供商验证用户
if (Membership.Providers["myprovider"].ValidateUser("USER", "PWD")) {
//your code
}
关于c# - 表单授权 : have different credentials for a subdirectory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2451973/