zoukankan      html  css  js  c++  java
  • MVC 过滤器的使用

    这几天项目中做了个过滤器 现在共享一下
    /// <summary>
        /// 有登录入口的过滤器 继承此BaseController就可以了
        /// </summary>
        public class BaseController : Controller,IAuthorizationFilter
        {
            protected override void OnActionExecuted(ActionExecutedContext filterContext)
            {
                if (filterContext.HttpContext.User.Identity.IsAuthenticated)
                {
                    filterContext.Result = new RedirectResult("/Home/Index");
                }
                else {
                    filterContext.Result = new RedirectResult("/Login/Index");
                }
            }
        }
        /// <summary>
        /// 嵌入到别人的网站下无登录入口过滤器
        /// </summary>
        public class ValidateLogin : ActionFilterAttribute
        {
            public override void OnActionExecuting(ActionExecutingContext filterContext)
            {
              //在判断IsAuthenticated前要在赋值 使用此方法就可以 FormsAuthentication.SetAuthCookie("testwty",false);
                if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
                {
                    filterContext.Result = new RedirectToRouteResult("Default", new RouteValueDictionary(new {controller ="Home",action="ErrorDemo"}));
                }
            }
        }
        //在Controller 中添加
        [ValidateLogin]属性就可以了
     
    当然也可以在webconfig中添加
    <authorization>
          <deny users="?"/>
        </authorization>
    如果大家有更好的方法希望能共享一下
  • 相关阅读:
    产品中常用理论
    Mac下配置环境变量
    Maven仓库
    深入理解Spring中的各种注解
    JAVA中简单字符串分割
    WARN: HHH000277: Could not bind factory to JNDI
    dos命令窗口下下java命令提示找不到或无法加载主类
    数组实用类:Arrays
    数组
    线程创建方式
  • 原文地址:https://www.cnblogs.com/houziwty/p/2269907.html
Copyright © 2011-2022 走看看