魔扣论坛

魔扣源码论坛业务
查看: 189|回复: 1

从SiteServer CMS管理员权限浅析权限系统的设计思路

[复制链接]
  • TA的每日心情
    慵懒
    18 小时前
  • 签到天数: 2957 天

    [LV.Master]开坛老将

    7万

    主题

    227

    回帖

    27万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    745759
    贡献
    157915
    威望
    32799

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2018-3-20 15:00:00 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    权限管理系统设计
                    企业信息化软件的权限设计一直是个非常棘手的工作,因为在企业信息化软件中,业务需求总是千变万化的,很难有一个统一的标准解决方案,既能够满足复杂的权限需求,又能够保证优秀的系统性能和用户体验。

    在设计权限系统时,一般有两种做法,一种是大而全的“全能解决方案”,可以对每一条具体的内容进行权限分配,甚至可以对每一个字段进行权限划分;另外一种是“通用型解决方案”,即基于角色的访问控制(RBAC)设计的解决方案。
    第一种大而全的“全能解决方案”问题在于使用了抽象化的概念描述权限,从而使用户很难理解和操作复杂烦琐,而且必然带来系统性能的下降,更重要的是一般情形下权限也用不着精确到字段级别。所以现在大部分系统都采用第二种基于角色的访问控制(RBAC)的“通用型解决方案”。
    一、RBAC的基本原理
    RBAC又叫基于角色的权限访问控制,英文全称是Role-based Access Control。核心思想就是用户通过角色与权限进行关联。一个用户可以拥有多个角色,每一个角色又可以拥有多个权限。通过角色构造成“用户--角色--权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。其对应关系如下:

    RBAC是基于不断实践之后形成的一个比较成熟的访问控制方案。具有以下优势:
    相比于角色和用户之间的变化,角色和权限之间的变化要慢得多,从而减小了授权管理的复杂性,降低了管理开销;
    而且能够灵活地支持应用系统的安全策略,并对应用系统的变化有很大的伸缩性;
    易用和高效的授权方式 :权限分配直观、容易理解;用户在进行授权时只需对角色进行授权,之后将相应的角色分配给用户即可;
    同时RBAC也有自身的一些缺陷:
    复杂的权限校验 :在进行权限校验时需要不断的遍历和递规,造成了性能的影响;
    对于数据权限的不够支持 :没有明确的数据权限模型,经过重构的数据权限模型和 RBAC 模型有一定的出入,而且在数据权限的校验上实现起来是非常的低效;
    二、RBAC在SiteServer CMS中的实现
    1、资源权限
    SiteServer CMS作为一个知名的CMS内容管理系统,主要是用于网站建设和业务系统定制开发。它的的权限资源主要分成两大类:
    通用资源权限

    站点类资源权限

    当然,作为一个企业级CMS内容管理系统,尤其是主打站群管理系统,权限仅仅精确到站点远远是不够的。
    所以在具体到每个站点之后,SiteServer CMS系统又把权限资源细分为:
    站点相关资源权限

    栏目相关资源权限

    从上图可以看到,SiteServer CMS系统的权限不仅仅可以精确到站点,还可以精确到某个站点下的具体一个或多个栏目,而且还精确到增、删、改、查等动作。比如是否有某个站点下某个栏目的添加内容的权限、修改内容的权限等。
    2、角色
    为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,以上所有的资源权限都可以分配给角色,角色和资源是多对多的关系。下图是SiteServer CMS系统角色列表管理界面:

    在添加角色时,需要把相应的资源权限给分配好。如下图所示:

    3、用户
    这里的用户指的是SiteServer CMS后台管理员,也就是后台站点管理的具体操作者。SiteServer CMS管理员是不能直接拥有权限的,必须要分配一个角色,通过角色再关联权限。

    在为具体某个管理员关联角色,只需要在对应的管理员后面点击“权限设置”就可以进入关联角色界面,如下图所示:

    如果某个管理员拥有管理某个站点的所有权限,那么在关联角色时可以直接设置成为某个站点的站点管理员,如下图所示:

    如果某个用户权限比较特殊,可以为他专门建一个角色来应用解决,因为如果用户也可以分配权限系统就会复杂很多。
            相关阅读
    分期乐乐黑卡功能浅析:如何提高乐黑卡功能渗透率?
    文章对分期乐App进行简单的探索,通过产品功能的体验分析中,总结提炼关于提升乐黑卡功能渗透率的几点思考。希望能够给你带来启发。
    oracle如何创建用户分配权限
            打开电脑左下角开始菜单,在下方搜索蓝输入【CMD】
                   
           
            进入CMD命令行,输入【conn / as sysdba】进入oralce控制台
                   
           
            进入控
    一个英文拼写纠错的思路(English Spelling check)
    分享一个英文拼写纠错的思路,暂时无完整代码,后续如果实现会继续更新
    英文拼写纠错这个问题由来已久,在这方面做的最好的就是谷歌了,
    优秀的淘宝店招怎么制作?实用的设计思路分享
    淘宝店招做不好会影响店铺的转化率,各位卖家是不是很想知道优秀的淘宝店招怎么制作的方法和技巧呢?seo实验室小编为大家准备了一些
    北推云科技,浅析网络口碑打造
    网络口碑打造是指企业在建立品牌的过程中,将口碑与网络结合起来的一种网络宣传模式。传统的口碑打造,企业通常需要花费大量的精力与

    该用户从未签到

    1

    主题

    261

    回帖

    524

    积分

    高级魔扣

    Rank: 4

    魔扣币
    262
    贡献
    262
    威望
    0
    发表于 2021-3-7 20:11:09 | 显示全部楼层
    我相信,爱可以排除万难。只是,万难之后,又有万难,这是我更相信的。',
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表