用户-角色-权限-组设计

时间:2022-07-18 15:21:50

用户-角色-权限-组设计

 

数据设计

 

用户以拥有角色和从属于某个组来实现权限

Users(id用户名密码,姓,名,emailisActiveIP用户类型)

Roles(id角色名称,描述,类型(比如系统级别,普通级别等))

Permissions(id权限名称,描述,类型)

Groups(id组名称id,组管理员id,描述)

User_Role(id用户id角色id,分配者id)

Role_Permission(id角色id权限id)

Group_User(idid用户id)

Groups_Admin(id用户id)

Group_Role(idid角色id,分配者id)

屏蔽用户(id,用户id,屏蔽原因,屏蔽者id)

屏蔽组(id,id,屏蔽原因,屏蔽者id)

 

数据字典

Users

字段名

长度

是否为空

/外键

备注

Id

Long

主键

 

logName

varchar(30)

 

登录名

Password

Varchar(255)

 

密码(加密)

Email

Varchar(255)

 

邮箱,登录可按email登录

isActive

Bit(1)

 

是否激活

IP

Varchar(20)

 

 

 

UserType

 

 

用户类型

管理员,普通用户,高级用户。可考虑使用用户组代替该字段

 

 

Roles

字段名

长度

是否为空

/外键

备注

Id

Long

主键

 

Name

varchar(30)

 

角色名称

description

Text

 

描述

Type

Varchar(255)

 

类型(系统级别,普通级别)

 

Permissions

字段名

长度

是否为空

/外键

备注

Id

Long

主键

 

Name

varchar(30)

 

权限名称

description

Text

 

描述

Type

Varchar(255)

 

类型

 

Groups

字段名

长度

是否为空

/外键

备注

Id

Long

 

主键

 

Name

varchar(30)

组名称

Pid

Long

 

外键

Id,关联自身

Mid

Long

 

外键

组管理员ID(创建者),关联Users

description

Text

描述

Type

Varchar(255)

 

类型

 

 

 

 

接口设计

 

接口

UserService

功能

方法

获取所有用户列表

 

获取所有用户id列表

 

获取所有活动用户列表

 

获取所有活动用户id列表

 

获取所有非活动用户列表

 

获取所有非活动用户id列表

 

通过id获取用户

 

通过id列表获取用户列表

 

创建用户

 

通过用户id删除用户

 

删除某一个用户

 

删除多个用户

 

更新用户信息

 

更改用户密码

 

判断用户类型(超级,管理员,组管理,可授权用户)

 

用户类型,角色检查

 

获取某类型用户列表

 

获取某类型用户id列表

 

修改某用户的类型

 

查询用户

 

获取某用户所在的组列表

 

获取某用户拥有的角色列表

 

获取某用户不拥有的角色列表

 

获取某管理员赋予某用户的角色列表

 

 

 

 

 

接口

RoleService

功能

方法

获取所有角色列表

 

获取所有角色列表id

 

通过id获取某角色

 

通过名称获取某角色

 

创建角色

 

通过id删除某角色

 

通过id列表删除角色

 

删除一个角色

 

更新角色

 

模糊查询角色

 

查询角色,排除查询者角色列表

 

获取该角色拥有的权限列表

 

获取该角色未拥有的权限列表

 

分配某权限给某角色

 

分配多个权限给某角色

 

分配某权限给多个角色

 

删除某角色拥有的某权限

 

删除某角色拥有的多个权限

 

获取拥有该角色的组列表

 

获取拥有该角色的用户列表

 

 

 

将角色分配给某用户

 

将角色从某用户回收

 

将角色分配给组

 

将角色从某组回收

 

将角色分配给多个用户

 

将角色分配给多个组

 

将角色从多个用户回收

 

将角色从多个组回收

 

屏蔽

 

取消屏蔽

 

 

 

 

 

接口

PermissionService

功能

方法

获取所有权限列表

 

获取所有权限id列表

 

获取某类型权限列表

 

获取某类型权限id列表

 

通过id获取某权限

 

通过名称获取某权限

 

创建某权限

 

删除某权限

 

通过id删除某权限

 

删除多个权限

 

更新权限

 

 

 

接口

GroupService

功能

方法

获取所有组列表

 

获取所有组id列表

 

通过id获取某组

 

通过名称获取某组

 

创建组

 

通过id删除某组

 

删除多个组

 

更新组信息

 

判断某用户是否组管理员

 

获取组管理员列表

 

获取组管理员id列表

 

获取父组

 

获取父组id

 

获取所有祖先祖

 

获取所有子组

 

获取所有兄弟组

 

获取所有子孙组

 

获取某用户管理的所有组

 

查找组

 

获取某组的角色列表

 

获取某组未拥有的角色列表

 

获取某组用户列表

 

添加某用户到组

 

添加多个用户到组

 

删除组某用户

 

删除某组多个用户

 

判断某用户是否在某组里

 

获取不在组里的所有用户