具有webform中多个登录页面的FormAuthentication

时间:2015-08-20 10:56:04

标签: c# asp.net webforms friendly-url form-authentication

我正在尝试通过以下解决方案实现具有多个登录页面的FormAuthentication: FormsAuthentication with multiple login pages

基本上这个概念是有一个“中间页面”,可以将你重定向到相应文件夹的相应登录页面。

但是如果我在我的应用程序中启用了友好URL,我就无法使用它,我只是得到一个重定向循环错误。

请告知我应该怎样做才能通过多个登录页面实现FormAuthentication。

P / S:我知道FormAuthentication限制只有一个登录页面,这就是它的设计方式,像“中间页面”这样的解决方案并不是一个非常好的解决方案。

我一直在考虑不使用FormAuthentication自己实现登录,但我不知道该怎么做。

在我之前写过的一个应用程序中,我将UserId存储在Session中并使用Session [“LoggedIn”] = 1来表示用户很好,但我总是遇到Session expiry问题。我知道我应该使用Cookies,但我不确定如何。

2 个答案:

答案 0 :(得分:0)

如果可能的话,只需使用一个登录表单并在不同的目录中使用不同的web.config文件,或者使用一个特殊的web.config。

如果不可能,web.config文件可能仍然有帮助。

ex:https://support.microsoft.com/en-us/kb/316871

答案 1 :(得分:0)

我终于找到了解决方案(也许是一种解决方法)

不是将登录表单放在每个文件夹中,而是将每个登录表单放在根目录中,然后使用相同的“中间页面”概念并分别重定向。

在登录页面OnLoad功能中,只需检查用户是否经过身份验证并具有特定角色,然后将其重定向到相应的文件夹,这样如果他们已经登录,他们就不需要再次登录。