zoukankan      html  css  js  c++  java
  • 使用ActionFilterAttribute进行重定向注意事项

    1.分部视图方法不能添加该特性,会报子方法不能重定向操作的错误

    2.必须用给filterContext.Result赋值的方法进行重定向,而不能用filterContext.HttpContext.Response.Redirect,

    否则,该特性执行完成后,会继续执行Action和其他ActionFilterAttribute

    示例代码如下:

     public class UserAuthenticationAttribute : ActionFilterAttribute
        {
            public override void OnActionExecuting(ActionExecutingContext filterContext)
            {
                if (filterContext == null || filterContext.HttpContext == null)
                    return;
    
                HttpRequestBase request = filterContext.HttpContext.Request;
                if (request == null)
                    return;
    
    
                var workContext = EngineContext.Current.Resolve<IWorkContext>();
    
                if(workContext.CurrentSISTUser==null)
                {
                    filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new
                    {
                        controller = "Account",
                        action = "Login"
                    }));
                    //filterContext.HttpContext.Response.Redirect("/Account/Login", true);
                    return;
                }
    
            }
        }
  • 相关阅读:
    Mac下github项目检出与提交
    Mac下Vim配置语法高亮
    Mac下JDK安装配置
    shiro实现app和web统一登录
    mysql优化30条建议
    log4j配置说明
    lambda遍历的精简
    lambda表达式详解
    dubbo
    java8新特性lamda表达式在集合中的使用
  • 原文地址:https://www.cnblogs.com/ldybyz/p/6236046.html
Copyright © 2011-2022 走看看