0
我再次遇到路由問題:) 當我運行應用程序,如果用戶未通過身份驗證,他將被重定向到登錄頁面。 我用FormsAuthentication
登錄頁面是在區域帳戶 當前的URL是從web配置身份驗證 - 路由上的asp mvc區域問題
http://localhost:38962/Account/Home/Index?ReturnUrl=%2f
設置
<authentication mode="Forms">
<forms loginUrl="~/Account/Home/Index" timeout="2880" />
</authentication>
我已經嘗試設置AccountAreaRegistration類路徑
context.MapRoute("home_login",
"",
new { area = "Account", controller = "Home", action = "Index", ReturnUrl = UrlParameter.Optional });
和其他一些設置BU不能獲取登錄頁面和URL保持只是
http://localhost:38962
而且我也有AccountAreaRegister路線
context.MapRoute(
"Account_default",
"Account/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
更新1
routes.MapRoute(
"Default",
"{controller}/{action}/{cityId}",
new { area = "MainArea", controller = "Home", action = "Index", cityId = UrlParameter.Optional },
new string[] { "MCN.WebUI.Areas.MainArea.Controllers" }).DataTokens.Add("area", "MainArea");
它仍然是相同的區域。我不知道這是否重要。在global.asax中,我有默認路由,將用戶導向另一個區域的頁面。該頁面需要認證(控制器具有Authorize屬性)。如果用戶未通過身份驗證,則說明此登錄頁面是以此整個網址開始的。 – 1110 2012-01-29 14:54:27
你可以發佈該代碼嗎?你是否也啓用了web.config中的授權? – chandmk 2012-01-29 15:03:07
我已更新問題 – 1110 2012-01-29 15:08:19