首页 > 其他 > 详细

后台权限设计 1.0版本

时间:2019-02-19 15:53:55      阅读:175      评论:0      收藏:0      [点我收藏+]

初级构想设计,希望园子里的各位大佬给些意见,能完成一个通用的权限设计

数据表结构原型设计工具:网页在线版 ProcessOn

 

数据库表模型如下:

技术分享图片

权限检测:自定义一个筛选器,在所有需要权限验证的方法上修饰该过滤器,传入对应的权限id,当用户访问对应功能模块时,过滤器首先验证该用户是否拥有该权限

如果没有,则中断请求直接响应

/// <summary>
    /// 权限验证
    /// </summary>
    public class AuthorityCheck : ActionFilterAttribute
    {
        //权限id
        private Guid _Authority { get; set; }//当前登录用户拥有的权限
        private List<Authority> _Authoritys { get; set; }

     //因为在过滤器中修饰只能带入常量的值,而GUID格式的值需要从string转换成Guid,则无法通过编译
        public AuthorityCheck(string Authority)
        {
      //获取session中的管理员权限信息
            _Authoritys = Tools.GetAuthoritiesBySession();
            _Authority = Guid.Parse(Authority);
        }

        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //检测该管理员是拥有该模块的对应权限
            if (_Authoritys.Where(p => p.Id == _Authority).FirstOrDefault() == null)
            {
                filterContext.Result = new JsonResult() { Data = new HApiResult() { Code = 200, Msg = "权限不足" }, 
          JsonRequestBehavior = JsonRequestBehavior.AllowGet };
            }
        }
    }

 

 

 

后台权限设计 1.0版本

原文:https://www.cnblogs.com/loyking/p/10338998.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!