Dot-Net
為不同的 ASP.NET MVC 3 區域提供不同的登錄頁面
我可以為不同的 ASP .NET MVC3 區域設置不同的登錄 URL 嗎?
例如,我想為管理員和數據輸入操作員提供不同的登錄頁面。
我在每個區域的視圖部分看到一個 web.config,我嘗試過這樣做:
<authentication mode="Forms"> <forms loginUrl="~/Administration/Account/LogOn" timeout="2880" /> </authentication>但它玩得不好。
乾杯。
我不知道 .NET 會為您處理此問題,但您可以創建自定義AuthorizationAttribute
public class CustomAuthorization : AuthorizeAttribute { public string Url { get; set; } public override void OnAuthorization(AuthorizationContext filterContext) { if (!filterContext.HttpContext.User.Identity.IsAuthenticated) { filterContext.HttpContext.Response.Redirect(Url); } base.OnAuthorization(filterContext); } }將其添加到您的控制器/操作中
[CustomAuthorization(Url="/Area/Login")] public class HomeController { //... }