zoukankan      html  css  js  c++  java
  • 权限,并不需要如此复杂的设计

    最近看到各种关于权限的文章,以及权限的设计,有很多优秀的设计。
    在我之前的工作中,也有去做权限设计的工作,最初的时候,就把权限规划为标准的 用户-角色-操作三级模式,相信这也是很多权限表设计者的基本结构。

    一般情况下,这中简单的设计表面上其实只能满足一部分需求,
    较复杂的需求,例如:我们的应用中有个消息中心,想实现每个人可以选择自己希望看到的信息,这时你会怎么做?
    可能的方案,有人会说这是数据权限,在权限设计时考虑数据的权限是一种方案,这够通用吗?
    另外的方案,如单独设计消息中心的表结构及与用户的关系表。

    由于我们的权限菜单的实现是基于[插件]的,我最终采用的方案是-[定制插件引擎],不知道各位在自己的系统中是否有插件的概念,或者是相应的功能?
    使用插件引擎+权限操作,可以顺利的完成上诉需求。
    我们要做的工作:
    第一步:为消息建立对应的权限操作,权限操作指向插件,用户获取特定消息的插件
    第二步:为消息制作一个消息引擎,使用用户的权限,为用户获取各类消息
    至于用户看到哪些消息,可以完美的使用通用的权限分配功能。

    可能各位对插件怎么实现感兴趣,我请关注一点,我在系统中仅使用了最基本的权限功能,完成了消息定制。

    按照上面的思路,我们可以实现所谓的数据权限,甚至看上去不太像权限的功能,比如菜单,应用功能,设置数据展示,只要你实现相应的处理引擎。

    在这之后,我已不在对我们的权限子系统做更改,因为到此他已经能够满足我的所有需求。

    我们要做的仅仅是:
    设计相应的合理的界面来实现权限的分配功能(VIEW)。
    实现需要的插件引擎来完成权限分配后的实现。
    实现插件完成插件引擎分配的任务。

    权限,并不需要如此复杂的设计。

  • 相关阅读:
    OI 知识总览 算法篇 之 动态规划
    LeetCode 16.3Sum Closest
    LeetCode 1.Two sum
    leetCode 15. 3Sum
    leetCode 54. Spiral Matrix
    mybatis(视频)
    mybatis
    spring笔记
    Spring(一)
    Spring(二)
  • 原文地址:https://www.cnblogs.com/ratku/p/3532154.html
Copyright © 2011-2022 走看看