我目前正在使用mvc3构建网络管理系统
在我的应用程序中,我有系统部分,只需要登录管理员。 和演示文稿网络,也为登记到网站的用户签名。
我希望实现这一点,当未注册的访问者尝试在控制器中输入操作时,他将重定向到登录视图
但是,当未注册的访问者尝试在系统控制器中输入操作时,他将重定向到另一个登录视图。
它可以吗? 我知道我可以把这行放在web.config
中 <forms loginUrl="~/Account/LogOn" timeout="2880" />
但此行始终将用户重定向到相同的登录网址
我可以将web.config放在View文件夹中的文件夹中吗?
答案 0 :(得分:1)
您可以编写自定义Authorize属性并覆盖您将重定向到其他登录视图的HandleUnauthorizedRequest。然后简单地用这个自定义属性装饰SystemController,而不是使用重定向到web.config中的url的标准属性。
答案 1 :(得分:0)
login {1> FormsAuthentication.RedirectToLoginPage使用了loginUrl,但您可以在用户身份验证后使用经典的Response.Redirect自行处理。您不能做的是为管理员或普通用户显示不同的登录页面,因为在他登录之前您不知道哪一个是哪个。