两个LoginUrl表单身份验证

时间:2011-08-28 20:22:45

标签: asp.net-mvc-2 forms-authentication

我目前正在使用mvc3构建网络管理系统

在我的应用程序中,我有系统部分,只需要登录管理员。 和演示文稿网络,也为登记到网站的用户签名。

我希望实现这一点,当未注册的访问者尝试在控制器中输入操作时,他将重定向到登录视图

但是,当未注册的访问者尝试在系统控制器中输入操作时,他将重定向到另一个登录视图。

它可以吗? 我知道我可以把这行放在web.config

<forms loginUrl="~/Account/LogOn" timeout="2880" />

但此行始终将用户重定向到相同的登录网址

我可以将web.config放在View文件夹中的文件夹中吗?

2 个答案:

答案 0 :(得分:1)

您可以编写自定义Authorize属性并覆盖您将重定向到其他登录视图的HandleUnauthorizedRequest。然后简单地用这个自定义属性装饰SystemController,而不是使用重定向到web.config中的url的标准属性。

答案 1 :(得分:0)

login {1> FormsAuthentication.RedirectToLoginPage使用了loginUrl,但您可以在用户身份验证后使用经典的Response.Redirect自行处理。您不能做的是为管理员或普通用户显示不同的登录页面,因为在他登录之前您不知道哪一个是哪个。