如何修改符合控制反转原则的代码?

How do I change the code that is compatible with the principle of inversion of control?

我在我的 Web 应用程序中使用 AuthorzieAttribute 进行身份验证和授权。 如何更改符合控制反转原则的HandleUnauthorizedRequest方法(IOC)?

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 });
}