zoukankan      html  css  js  c++  java
  • 细颗粒度 权限系统 理论探索 3


    细颗粒度 权限系统 理论探索 3



    什么作为约束最合适?

    刚才的例子:无论在什么情况下,我的记录你不能看。你的我不能看。


    例子:

    超级大型的信息系统,商品表 里面数据达到50w行,用一张权限表去记录每条商品的创建者,那么不就等于把商品表 clone了一次?又多了50w条权限记录?如果再有订单表?不疯了才怪!

    所以权限控制的对象数据量一定不能多!可能吗?当然!

    比如一个ERP的百货公司,一般来说招商人员负责某种类型的商品(非常符合现实,如果让招商人员直接负责某个商品,他肯定会去跳楼的)。这种类型在数据库里面的记录量不大,一般就几百条。这个就应该让权限去控制。

    回来上面可笑的例子:

    一张商品表一定有一个字段是 商品类型 (没有,设计数据库的人应该去拿个锐角撞上去了)。
    这个字段一定是个外键(不是外键的也离上面惨死的人差不多命运了)。
    这个外键指向的表商品类型 数据量一定不多(不就鞋、袜子什么的贝)。
    我们只要对这张表进行创建者记录,那么反过来就能够控制商品表了。就像下面的sql

    SELECT * FROM ITM_ITEM WHERE USERID = :USERID (STUPID)

    SELECT * FROM ITM_ITEM WHERE ITEMTYPE IN (SELECT ITEMTYPE FROM ENUM_ITEMTYPE WHERE USERID = :USERID)

    明白了怎么去控制了吧!
  • 相关阅读:
    搜索进阶1、八数码(HDU1043)
    D.迷宫2 (BFS+优先队列)
    小H的询问(线段树)
    B.迷宫(BFS)
    【UVA】10935 Throwing cards away I(STL队列)
    【UVA】10391 Compound Words(STL map)
    【UVA】12100 Printer Queue(STL队列&优先队列)
    【UVA】1596 Bug Hunt(模拟)
    【UVA】201 Squares(模拟)
    【UVA】1595 Symmetry(模拟)
  • 原文地址:https://www.cnblogs.com/zc22/p/922894.html
Copyright © 2011-2022 走看看