AuthorizeAttribute:一般用来判断权限

ActionFilterAttribute:方法执行前后动作

OutputCacheAttribute:输出缓存设置

注:我们创建名称的时候请带上 Attribute

AuthorizeAttribute:创建

namespace MyWebApi.Models
{
    using System;
    using System.Web;
    using System.Web.Mvc;

    /// <summary>
    /// 检查登陆已经权限问题
    /// </summary>
    public class MyAuthorizeAttribute : AuthorizeAttribute
    {
        public int status = 1;//1:登陆有权,2:没有登入,3:登陆无权限
        /// <summary>
        /// 权限检查的入口
        /// </summary>
        /// <param name="httpContext">http的基类</param>
        /// <returns></returns>
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            //这里写逻辑  利用Cookies 判断用户是否登入已经登入是否有权限,然后来给 status 赋值
            #region  我们也可以在使用的时候传入指定的用户以及角色来判断
            string[] users = Users.Split(',');
            string[] roles = Roles.Split(',');
            #endregion
            return status ==1;
        }

        /// <summary>
        /// 当检查入口返回false会进入到这里
        /// </summary>
        /// <param name="filterContext"></param>
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            if (filterContext == null)
            {
                throw new ArgumentNullException("filterContext");
            }
            else
            {
                if (status == 2) //没有登陆的页面
                {
                    filterContext.Result = new RedirectResult(""); 
                }
                else if (status == 3) //没有权限访问的页面
                {
                    filterContext.Result = new RedirectResult("");
                }
            }
        }
    }
}
View Code

相关文章:

  • 2021-09-11
  • 2021-08-19
  • 2021-10-02
  • 2021-06-19
  • 2021-11-09
  • 2021-04-09
  • 2021-07-12
  • 2022-02-04
猜你喜欢
  • 2021-10-10
  • 2021-11-14
  • 2021-05-18
  • 2021-06-22
  • 2021-12-08
  • 2021-06-15
  • 2019-02-26
相关资源
相似解决方案