# xiaoyequ **Repository Path**: jiayuguang/xiaoyequ ## Basic Information - **Project Name**: xiaoyequ - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-18 - **Last Updated**: 2022-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: 毕设 ## README ### 技术选型 我使用的技术框架如下: - Spring Boot - Spring Security - Mybatis-Plus - Druid - Thymeleaf ### **在RBAC模型里面,有3个基础组成部分,分别是:用户、角色和权限。** - User(用户):每个用户都有唯一的UID识别,并被授予不同的角色 - Role(角色):不同角色具有不同的权限 - Permission(权限):访问权限 - 用户-角色映射:用户和角色之间的映射关系 - 角色-权限映射:角色和权限之间的映射 ![image-20200918135447066](README.assets/image-20200918135447066.png) ### 登录管理 用户在登陆时,会被 SpringSecurity 拦截,获取用户的验证信息,如果验证通过,会将用户权限信息封装在一个 User 中,放在 Spring 的全局缓存中,以备后面访问资源使用 访问 URL 时,会被拦截所需的权限,授权管理器从全局缓存中获取用户的权限信息,根据用户的信息配置策略,权限足够返回,反之报错 | 用户名 | 密码 | 角色 | | ------ | ----- | ---------- | | user | user | 普通用户 | | admin | admin | 管理员 | | root | root | 超级管理员 | ### 权限管理 例如下图,普通用户、管理员和超级管理员被授予不同的**角色**,不同**角色**有不同的**权限**, ![image-20200918141221728](README.assets/image-20200918141221728.png) 登录的用户**只能享有和自己相同或低于自己的权限** 对于用户权限调整,只需调整用户关联的角色权限即可,无需对每一个用户都进行权限调整,既大幅提升权限调整的效率,又降低漏调权限的概率; 对于角色的控制,只需超级管理员去控制角色和权限的关联即可