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>
    如果大家有更好的方法希望能共享一下
  • 相关阅读:
    ios awakeFromNib 和 initWithCoder:
    iOS 关于iphone6 和 iphone6 plus 的适配
    iOS 目录的使用
    iOS 8 WKWebView 知识点
    iOS 动画结束后 view的位置 待完善
    iOS coredata 数据库升级 时报Can't find model for source store
    iOS 真机文件系统区分大小写,而模拟器可能不区分
    iOS coredata 级联删除
    iOS 关于AFNetworking ssl 待完成
    iOS 关于UIWindow的理解
  • 原文地址:https://www.cnblogs.com/houziwty/p/2269907.html
Copyright © 2011-2022 走看看