星空网 > 软件开发 > ASP.net

系统权限的设计之简单设计

设计思路

    (1)用户表

           权限是根据登陆者不同而不同的,用户表就比较简单了,简单的表设计如下

  [user_no] [nvarchar](20) NOT NULL, //用户ID,主键  [user_name] [nvarchar](20) NULL,  [user_password] [nvarchar](20) NULL,

(2)权限列表

设置所有的权限,例如新增,修改,查询

 

  [action_id] [nvarchar](20) NULL,  [action_name] [nvarchar](20) NULL

(3)功能表

          系统的功能是存在数据库中的,根据权限来获取部分功能,并展示。表设计如下:

 

系统权限的设计之简单设计
  [function_id] [nvarchar](20) NOT NULL,//功能id  [function_brother_id] [int] NOT NULL,//相同功能的不同页面  [function_name] [nvarchar](50) NULL,  [function_url] [nvarchar](500) NULL,  [function_level] [int] NULL,  [function_sort] [int] NULL,  [function_action] [nvarchar](100) NULL,  [function_parent_id] [nvarchar](20) NULL,  [function_inmenu] [bit] NULL,//是否在菜单中
系统权限的设计之简单设计

为什么有[function_brother_id],一个菜单里面的一个功能可能会有多个页面。例如一个用户页面,可能在功能里面叫用户信息,但是会涉及多个页面,每个页面都需要权限。
[function_inmenu]就是判断同功能里面菜单里链接是其中哪个页面(只能有一个)。

[function_action]是根据权限列表给每个功能赋给权限

(4)权限组

我们的权限是根据组来区分的。一个用户在一个组里面,那个组里面有哪几个功能,其中每个功能有哪几种权限。这就是我们的系统权限的核心了,不过比较简单。

  [group_id] [nvarchar](20) NOT NULL,  [group_name] [nvarchar](50) NULL,

这里面存储权限组的基本信息,一般会默认有系统管理者和一般使用者。

(5)用户权限组

设定用户在哪个群组。我们目前的系统设计的是一个用户可以有多个组,但是我觉得一个用户设定一个群组就ok了。如果一个用户没有设定在哪个组,默认为一般使用者。

  [group_id] [nvarchar](20) NULL,  [user_no] [nvarchar](20) NOT NULL,

(6)群组功能

设定每个群组里面有哪几个功能,每个功能有哪几种权限。

注意,功能表里面的权限与此处不同,可能一个功能有查询和删除权限,但是本群组里面的这个功能只有查询权限。

这个权限必须是在功能里面此功能所有的权限中。

 

  [group_id] [nvarchar](20) NOT NULL,  [function_id] [nvarchar](20) NOT NULL,  [group_action] [nvarchar](100) NULL,

 

表设计到此ok,算是比较简单的。

 

 

 

使用过程

 (1)登陆时

      验证通过时,

             > 根据用户id去用户权限表里面取得此用户所对应的群组

             >根据群组对应的所有功能去功能表里面找到相应的在菜单中的功能,这里可以拼成

                 这样就可以实现有些功能在菜单,有些没权限的则不在,也可以查到此功能有哪些权限(比如只有查询权限,或是还有新增权限)

       进入页面时的处理

          群组功能里面无此页面功能时,就算是直接输入连接也会被拒绝访问

          根据页面找到功能id,再找到登入者所属群组此页面有哪些权限,根据权限来实现一下页面元素的隐藏和显示(如没有新增权限就把新增按钮隐藏)

          这样就实现了登入者的权限,进入页面的权限和页面上一些操作的权限了。

 




原标题:系统权限的设计之简单设计

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

messager:https://www.goluckyvip.com/tag/22938.html
Messenger channel:https://www.goluckyvip.com/tag/22939.html
Meta:https://www.goluckyvip.com/tag/22940.html
Meta Business Suite:https://www.goluckyvip.com/tag/22941.html
Meta for Business:https://www.goluckyvip.com/tag/22942.html
METADATA1:https://www.goluckyvip.com/tag/22943.html
23点聊电商:新质生产力加速数字贸易发展 卓尔智联集团实现营收利润双增长 :https://www.kjdsnews.com/a/1836411.html
南京浦口都有什么好玩的地方 南京浦口都有什么好玩的地方推荐:https://www.vstour.cn/a/363180.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流