[PHP] RBAC权限与审批流的简单数据库构想

权限部分:功能权限+数据权限
控制权限是界面按钮菜单的权限控制,数据权限是数据范围的控制
role(角色)
-----------------
|id             |
-----------------
|name           |
-----------------

user(用户)
-----------------
|id             |
-----------------
|name           |
-----------------

node(菜单按钮节点)
-----------------
|id             |
-----------------
|name           |
-----------------
|module_name    |
-----------------
|action_name    |
-----------------
|pid            |
-----------------
|sort           |
-----------------
user_role(用户-角色表,功能权限)
-----------------
|id             |
-----------------
|user_id        |
-----------------
|role_id        |
-----------------
node_role(节点-角色表,功能权限)
-----------------
|id             |
-----------------
|role_id        |
-----------------
|node_id        |
-----------------

user_channel(用户-频道表,数据范围权限,多对多)
-----------------
|id             |
-----------------
|user_id        |
-----------------
|channel_id     |
-----------------

flow(流程设置表,频道对应的多级审批角色,一对多)
-----------------
|id             |
-----------------
|channel_id     |
-----------------
|role_id        |
-----------------
|level          |
-----------------

process(审核流程表,需分表)
-----------------
|id             |
-----------------
|document_id    |
-----------------
|author_id      |
-----------------
|pre_checkerid  |
-----------------
|checker_id     |
-----------------
|next_role_id   |
-----------------
|check_status   |
-----------------

审批流类似一个链表

审批流设置表可以配置某个频道的审批层级

相关推荐