我再次遇到路由问题:)
当我运行应用程序时,如果用户未经过身份验证,则会将其重定向到登录页面。
我用FormsAuthentication
登录页面位于区域帐户中
当前网址为
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");
答案 0 :(得分:1)
修复你的MapRoute函数调用,第二个参数应该是
Account/{controller}/{action}
删除第三个参数中的区域
<强>的web.config 强>
<authorization>
<deny users="?"/>
</authorization>