1、用户登录系统有一个账号:userId
2、用户打开一个应用:
- 会从所有用户组中检索当前userId,获取包含userId的用户组,组成roleId(及其显示值)的列表显示在页面上供用户选择
- 1中取到的每一个用户组roleId都对应一个【角色权限】
- 用户选择一个用户组(roleId),进入应用
- 用户进入应用后带有:userId、roleId两个标识用户的信息;
- userId标识当前用户唯一性,roleId标识当前用户所在的用户组,以及用户组的权限范围:用户组对应的角色权限,以及页面模块的访问权限
3、用户的角色权限在应用开发时预定义,每一个角色代表不同的权限范围,角色示例:
4、在权限管理页面,每新建一个用户组,则在EMAP_SAPP_ROLE_RELATION生成一条记录(),记录信息包含:
- roleId、roleName、containsRoles(包含的唯一角色如DSW200,未进行第二步授权之前为空)、是否可授予用户,此处的roleId代表一个唯一标识的用户组;用户组是一组userId的集合
5、在权限管理页面:系统管理员可以给每个用户组授予角色权限范围,取值来自
{"DSW200","学校"},
{"DSW201","校区"},
{"DSW202","宿舍楼"},
{"DSW300",:"院系"},
{"DSW301","院系心理负责人"},
{"DSW700","用工单位"},
{"DSW800","院系年级"},
{"DSW500","班级"},
{"DSW501","活动管理员"},
{"DSW600","学生"}
- 授权之后containsRoles包含来自上述角色集合中的的一个值:即一个用户组对应一个roleId,一个roleId对应一个Role角色权限
6、在权限管理页面:
- 系统管理员可以给每个用户组授权当前app可见的页面(模块);每一个模块有唯一标识gnid;
- 授权之后,EMAP_SAPP_ROLE_MODEL记录页面模块id和roleId的对应关系
- 一个页面可以授权给多个用户组roleId;一个用户组roleId可以授权多个页面