zoukankan      html  css  js  c++  java
  • 混合了RBAC和ACL的权限系统(一) -- 用户组织结构

    最近的工作是一个基础设计,打造一个基于RBAC和ACL的权限基础组件。

    这个基础组件的特点是:同时混合了RBAC和ACL的认证方式,也就是说同时提供系统级别的授权(RBAC)和对象级别的授权(ACL)。

    1. 表结构说明

    1)组织单位(Organization)

    组织单位作为基本结构单位。在人员的组织结构中,是用来表示组织结构树。(例如公司)

    名称

    定义

    说明

    id

    bigint

    主键,组织结构id

    name

    varchar

    名称

    dn

    varchar

    distinguish name

    parentid

    varchar

    父组织单位的id

    2) 用户(User)

    是最小的自然单位,无法再包括子节点。对应自然人。(例如员工)

    名称

    定义

    说明

    id

    bigint

    主键,用户id

    name

    varchar

    名称

    password

    varchar

    密码

    dn

    varchar

    distinguish name

    parentid

    varchar

    所属的组织单位的id

    3) 用户组(Group)

    包含了多个用户的组(例如公司中的项目组)

    名称

    定义

    说明

    id

    bigint

    主键,用户组id

    name

    varchar

    显示名称

    dn

    varchar

    distinguish name

    parentid

    varchar

    所属的组织单位的id

    4) 属性(Attributes)

    用来记录用户、用户组、组织单位的属性。

    名称

    定义

    说明

    id

    bigint

    主键,属性id

    ownerid

    bigint

    属性的拥有者id

    ownertype

    varchar

    属性拥有者类型:用户、用户组、组织单位

    name

    varchar

    属性名称

    attribute

    Text

    属性值

    2. 关系说明

    1) 用户组和组织单位:用户组是可以用来分配权限,而组织单位只是一个用来容器,不能用来分配权限,可以对它做组策备应用,组织简单一点说像一个文件夹,用来规划一个AD对象的。(比如一个公司可以拥有多个项目组,项目组是分配权限和资源的单位)

    2) 用户和用户组: 是多对多的关系,同一个用户可以隶属于多个工作组,同一个工作组可以包含多个用户。(比如某个员工可以同时为多个项目组工作)

    3) 用户和组织单位: 是一对一的关系,同一个用户只能在某个组织单位中。比如一个员工可以同时为多个项目组(用户组)工作,但是员工只能隶属于一个公司

    http://blog.csdn.net/chruan/article/details/7105350

  • 相关阅读:
    FileUpload的使用
    关于hibernate4的配置我要好好反省一下
    比较SQL Server 2000 数据库中两个库的差异
    用google生活
    用OWC11图形分析本页面及其他页面Table中的数据
    请教ASP.NET培训应该培训的内容和以及顺序
    最近一个快要结束的项目的BUG分析
    我也发软件开发团队的思考(侧重点是人员)
    一个SQL语句的问题,我百思不得其解,请教各位
    分享C#高端视频教程
  • 原文地址:https://www.cnblogs.com/seasonzone/p/4140719.html
Copyright © 2011-2022 走看看