use*_*512 4 asp.net-mvc asp.net-mvc-4
如何更改控制器的默认身份验证重定向路径(/ Account/Login)?我有4个控制器
ABC - >/ABC /登录
BCD - >/BCD /登录
EFG - >/EFG /登录
首页--->帐户/登录
根据Chris Pratt的想法,这是一个自定义的Authorize属性:
public class CustomAuthorize:AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
string controller = filterContext.RouteData.Values["controller"].ToString();
filterContext.Result = new RedirectToRouteResult(new
RouteValueDictionary(new{ controller = controller, action = "Login" }));
}
}
Run Code Online (Sandbox Code Playgroud)
可以在你的控制器上使用,如下所示:
[CustomAuthorize]
public class ABCController : Controller
Run Code Online (Sandbox Code Playgroud)
这会将未经授权的客户端重定向到它尝试访问的控制器上的"登录"操作.记得加入[AllowAnonymous]登录操作.