zoukankan      html  css  js  c++  java
  • MVC巧用枚举做权限管理

    用户数据表,每个用户有一个或者多个权限,用户表如下

    userid,roleid,username等

    权限枚举如下:

    public class CustomEnum
        {
            [Flags]
            /// <summary>
            /// 用户角色枚举
            /// </summary>
            public enum UserRole
            {
                /// <summary>
                /// 游客
                /// </summary>
                Visitor = 1,
                /// <summary>
                /// 学生
                /// </summary>
                Student = 2,
                /// <summary>
                /// 老师
                /// </summary>
                ///
                Teacher = 4,
                /// <summary>
                /// 家长
                /// </summary>
                Parents = 8,
                /// <summary>
                /// 加盟商
                /// </summary>
                Agents = 16
            }
        }

    为以下对象权限对象赋值

      /// <summary>
            /// 用户角色
            /// </summary>
            public static CustomEnum.UserRole UserRole
            {
                get
                {
                    if (!string.IsNullOrEmpty(SessionAction.ReadSession("xxb_WebUserRole")))
                    {
                        return (CustomEnum.UserRole)Enum.Parse(typeof(CustomEnum.UserRole), SessionAction.ReadSession("xxb_WebUserRole"));
                      }
                    else
                    {
                        return CustomEnum.UserRole.Visitor;
                    }
                }
                set
                {
                    System.Web.HttpContext.Current.Session["xxb_WebUserRole"] = (CustomEnum.UserRole)Enum.Parse(typeof(CustomEnum.UserRole), value.ToString());

                }
            }

    用以下语句判断是否属于某种权限,并进行某种操作

     if (WebSession.UserRole == CustomEnum.UserRole.Visitor) //如果是普通游客 
                    {
                        //跳转到登陆页面
                        filterContext.Result = new RedirectResult("/User/LogOn?ReturnUrl=" + filterContext.HttpContext.Request.Url);
                    }
                    else
                    {
                        //跳转到权限提醒页面
                        filterContext.Result = new RedirectResult("/Home/Role?ReturnUrl=" + filterContext.HttpContext.Request.Url);
                    }

  • 相关阅读:
    Spring Security【一】 ------ 前后端分离开发
    mybatis 使用mybatis-plus-generator进行代码自动生成
    VuejsApp简介
    BeetleX之Vue ElementUI生成工具
    BeetleX数据分析中间服务V3
    vuejs集成echarts的一些问题
    BeetleX使用bootstrap5开发SPA应用
    BeetleX大数据之产品分析服务
    小试牛刀ElasticSearch大数据聚合统计
    在windows 10的ubuntu系统上如何使用dd命令写u盘?
  • 原文地址:https://www.cnblogs.com/lori/p/2196638.html
Copyright © 2011-2022 走看看