首页
业务
关于
客户
服务
联系
13520390899
资 深 的 互 联 网 开 发 服 务 商
专注于 网站开发 / 小程序开发 / APP开发 / 软件开发
网十科技 > 动态

关于延庆网站后台自动模块的用户权限的分配问题

对于一个固定模块的网站,后台用户是比较好分配的,而对于目前模块随时有增有减的网站后台模块,功能分布起来就比较难,尤其是需要控制到对某个模块的某个操作,让许多新的网站程序员摸不着头脑,下来延庆网站开发分享关于网站后台自动模块的用户权限的分配问题。

给用户分配角色

角色和用户的关系:以用户为主来进行设计符合客户的使用习惯,即将多个角色授予某个用户,也就是用户拥有多个角色。

模块的授权以角色为主,即大部分情况下,针对角色来分配模块的权限。

一旦根据角色划分好权限之后,就可以进行用户的创建工作。用户创建后,就可以给用户分配角色(可以拥有多个角色),这样,用户将拥有其所属角色的所有权限。

由于一个用户可以拥有多个角色,系统无法对角色的授权进行控制,所以很有可能出现授权有冲突的多个角色被授予同一个用户的情况。例如:角色A对模块A有删除权限,但角色B对模块A的删除权限则被禁止,这时候,如果将角色A和角色B同时授予用户A,则会造成困扰,究竟用户A对模块A的删除权限是允许还是禁止?用户A的权限应该以角色A为准还是以角色B为准?

下面是三种解决方案

a.如果多个角色之间有授权冲突,则不允许将这些角色同时授予同一个用户。

b.允许将有授权冲突的角色同时授予同一个用户,但用户在某个时刻只能扮演其中的某个角色。在用户登录后台管理界面之后,可以通过切换角色,来执行不同的操作。

c.允许将有授权冲突的角色同时授予同一个用户,对用户的这些角色来说,有优先级的概念,当将角色分配给用户的时候,应该设置它的优先级。同一个角色在不同的用户那里可能具有不同的优先级。当授权有冲突的时候,以优先级更高的角色授权为准。

第一种方案不够灵活,第二种方案客户使用不方便,需要不断切换,一般情况下,第三种方案为最佳方案。

授权

把模块的增删改查操作授予某个角色或用户,并设置为允许或禁止此操作。授权需要的要素:角色/用户、模块、操作、允许/禁止。

操作包括增、删、改、查(CRUD),针对这每一种操作,需要一个对应的“允许/禁止”标识。所以,最直观和直接的是在ACL中针对每种操作设置一个属性,和一个“允许/禁止”标识。但是这种设计会造成灵活性的缺失,例如:当要添加其他的操作类型时,就必须对ACL做必要的更改,为了适应这种可预见的需求,可将CRUD和

7x24
售后服务支持
10
故障时长赔付
16
16年行业服务经验
20
售后服务人员
70
设计、开发团队
10
国内顶尖技术专家
1000
大型及上市企业
版权所有 © 北京网十互动科技有限公司 网站 APP 小程序 软件 备案号:京ICP备16050073号-2

电话咨询