给定一个 mvc4,它在路由中有一个 {sitename} 参数,如下所示
routes.MapRoute(
"Sites", // Route name
"{sitename}/{controller}/{action}/{id}", // URL with parameters
new { sitename = "", controller = "Home", action = "Index", id = "" } // Parameter defaults
);
除了 AccountController 和任何其他使用 [Authorize] 属性的重定向到
~/Account/Login
而不是
~/{sitename}/Account/Login
为了一致性和美观性
有没有办法改变这个?显而易见的答案是创建自定义 AuthorizeAttribute 但大多数示例,例如对ASP.NET MVC 4 自定义 Authorize 属性的答案 - 如何将未经授权的用户重定向到错误页面? 只需调用
base.HandleUnauthorizedRequest();
所以在我尝试代码/调试/代码/调试路线之前寻求任何帮助!