[英]How do I change the code that is compatible with the principle of inversion of control?
我在Web应用程序中使用AuthorzieAttribute进行身份验证和授权。 如何更改与控制反转( IOC )原理兼容的HandleUnauthorizedRequest方法?
public class AuthorizeUser : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
return SessionContext.GetCurrentUser() != null ? true : false;
}
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary(
new
{
returnUrl = filterContext.HttpContext.Request.Url,
Area = "",
controller = "Account",
action = "Login"
})
);
}
}
回答:
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.HttpContext.Response.RedirectToRoute(new { controller = "Account", action = "Login", returnUrl = filterContext.HttpContext.Request.Url });
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.