zoukankan      html  css  js  c++  java
  • 复杂数据权限设计方案

    复杂数据权限设计方案

    需求:有个权限树,资源挂在树的节点上面。父节点的权限可以访问所有子节点的资源。

    更具体点,一个公司有一个部门,这个部门是棵树(权限树)。每发布一个课程,都需要设置属于哪个部门的权限。每个人属于部门。这样,来一个人,他可以看到该部门所有子部门的所有资料。

    方案1:基于数据库的实现

    计算机生成了可选文字:

    这是一棵权限树。子节点的值为父节点copy+一个递增的数字。

    资源的表有个字段存储节点的数字。

    当用户权限在某个节点的时候,使用mysql   like 'X%'  就可以找到下面的所有的资源。

    方案2:

    使用搜索引擎实现。

    计算机生成了可选文字:

    资源a挂在1上,a的标签是[1];资源b挂在2上,标签是[12 

    用户权限是1,可以找到ab的资源。如果用户权限是2,用2搜索,可以找到b的资源

    标签:就是从根到当前节点的路径。中间用,或者空格分割,这样es就可以分词。

    方案12各有千秋。方案在多表join的时候,比较方便。实际业务场景除了权限做过滤,还有其他的搜索条件。

  • 相关阅读:
    LOG4J介绍
    基于AspectJ的XML方式进行AOP开发
    tsdb import 相关
    xming + putty remote GUI
    html5 编辑
    swift container server 莫名stuck
    rsyslog trouble shooting
    文件处理 字符串处理
    list去掉重复元素
    找到字符串中最长的回文
  • 原文地址:https://www.cnblogs.com/shijiehaiyang/p/13808258.html
Copyright © 2011-2022 走看看