OA权限设计

Action表,有多少个Action,就有多少个记录;

UserAction表,记录条数 = User数 * Action数,用于最终确定用于能否请求某个action

Role角色表,自定义条数;

RoleAction,决定每个角色有哪些基本行为。

UserRole:一个用户能同时承担多个角色。

 

最终设计

DelFlag用于表示删除状态,项目设计中,删除仅仅是逻辑删除,不会是真删除。

ActionInfo表中,添加了一些对Action更加详细的描述,例如:Url,HttpMethod,IsMenu(是否有视图的)

数据库设计思想:

1.将现实的事物抽象成数据结构,然后再形成数据表。就是1对多的那个1

例如上边的:User,Action,Role

2.根据业务,添加一些作为关联的表,就是1对多的那个多

例如:UserRole,一个用户可能有多个角色

     RoleAction,一个角色能有多个行为

3.考虑性能,将表拆分,例如UserInfoExt。本来用户很多信息可以写到UserInfo中,但是,实际上,仅仅是用户修改信息时才会用到,一般用到的仅仅是UName和Pwd而已。

原文地址:https://www.cnblogs.com/pylblog/p/7631314.html