C# 过滤器

原文:忘了,这里只是记录一下。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace AEHMS.Filter
{
    /// <summary>
    /// 不需要登录即可访问
    /// </summary>
    public class NoPermissionRequiredAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);
        }
    }



    /// <summary>
    /// 需要登录才能进行操作
    /// </summary>
    public class PermissionRequiredAttribute : ActionFilterAttribute
    {

        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (!filterContext.ActionDescriptor.IsDefined(typeof(NoPermissionRequiredAttribute), true))
            {
                //Session["UserLoginInfo"]
                if (filterContext.HttpContext.Session["UserLoginInfo"] == null)
                {
                    filterContext.Result = new RedirectResult("~/Login/Login");
                }
            }
            base.OnActionExecuting(filterContext);
        }
    }


    /// <summary>
    /// 需要有超级管理员权限
    /// </summary>
    public class AdminPermissionRequiredAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //if ((filterContext.HttpContext.Session["User"] == null) || !((filterContext.HttpContext.Session["User"] as Models.User).IsSuper))
            //{
            //    filterContext.Result = new RedirectResult("~/Admin/Account/Login");
            //}
            base.OnActionExecuting(filterContext);
        }
    }
}
原文地址:https://www.cnblogs.com/guxingy/p/13845149.html