【发布时间】:2013-12-06 13:07:46
【问题描述】:
我有一个设置了多个区域的 MVC4 应用程序。每个区域必须有自己的登录页面。例如,假设我有以下区域:
主要 管理员
如何设置它以使“主要”区域与“管理”区域具有不同的登录页面?我在想 web.config 不是解决这个问题的方法。
目前我的根 web.config 文件中有以下内容:
<authentication mode="Forms">
<forms loginUrl="~/Admin/Login" timeout="2880" protection="Encryption" />
</authentication>
但是,我正在努力研究如何使其适应带有区域的 MVC4。
请帮忙。
【问题讨论】:
-
不知道用web.config能不能做到。如果你不能让它工作,你总是可以编写自己的从 System.Web.Mvc.AuthorizeAttribute 派生的操作过滤器并覆盖 HandleUnauthorizedRequest 方法。
-
你有可以连接多个区域的链接吗?
-
我会发布一个例子。
-
究竟是什么不工作?您可以向应用程序添加任意数量的登录页面,无论它们位于解决方案中的什么位置。您的登录逻辑将在 cookie 中设置凭据,您应该能够从任何区域访问它们。
-
@lopezbertoni 每个区域都有特定的登录页面。
标签: asp.net-mvc asp.net-mvc-4 forms-authentication