OA系统权限模型设计

  1. 定义:权限决定了某用户是否允许对某资源进行某种操作。用户,包括具体用户及用户的集合。用户的集合包括用户组,用户角色等。资源:包括数据(字段、记录、表、文件等)、界面元素(菜单、窗口、按钮、域等)、后台程序等。操作包括:
    1. 数据的:创建、列举、查看、修改、删除等
    2. 界面元素的:是否可见,是否可用等
    3. 程序:是否可执行等。
  1. 简化思路
    1. 按照事件驱动机制,程序一般与某个界面元素关联。因此可以不用直接控制程序的权限。
    2. 资源主要对应数据,操作主要对应菜单或按钮
    3. 对于数据的权限控制,细化到记录级别就足够
    4. 用户组主要与数据挂钩,角色主要与操作挂钩
    5. 系统可以建立一些自然的用户分组(例如:部门所有用户,单位所有用户,担任同一职务的用户)
    6. 用户部门调动后,应支持资源权限的移交和原用户帐号的锁定
  1. 操作权限类型(每个用户 15 个状态位)
    1. 拥有(创建权,授予权,接受权):接受之后,这些记录也视为接受者的个人记录
    2. 列举(个人的,组内的,其他):个人的列举权默认打开,其他默认关闭,也可以调整策略
    3. 查看(个人的,组内的,其他):个人的查看权默认打开,其他默认关闭,也可以调整策略
    4. 修改(个人的,组内的,其他):个人的修改权默认打开,其他默认关闭,也可以调整策略
    5. 删除(个人的,组内的,其他):个人的删除权默认打开,其他默认关闭,也可以调整策略
  1. 数据共享类型(每条数据 12 个状态位):个人权限均默认打开,其他默认关闭,也可以调整策略
    1. 个人可列
    2. 个人可查(隐含个人可列)
    3. 个人可删(隐含个人可列)
    4. 个人可改(隐含个人可查)
    5. 组内可列
    6. 组内可查(隐含组内可列)
    7. 组内可删(隐含组内可列)
    8. 组内可改(隐含组内可查)
    9. 全局可列
    10. 全局可查(隐含全局可列)
    11. 全局可删(隐含全局可列)
    12. 全局可改(隐含全局可查)
  1. 初步考虑需要的表
    1. 用户表
    2. 用户组表
    3. 用户 - 用户组关联表
    4. 角色表
    5. 用户 - 角色分配表
    6. 权限代码表(菜单、按钮、数据域等):菜单对应模块,按钮对应具体操作
    7. 角色 - 权限分配表:角色能操作哪些界面菜单或按钮,包括可见否,可操作否
    8. 部门表
    9. 员工表
    10. 员工 - 部门关联表
    11. 用户对应员工表
    12. 职务表(或岗位表)
    13. 职务 - 角色关联表
    14. 员工 - 职务关联表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值