**gkestor-usercenter模块整合了spring security,实现了登录接口;可使用log注解,根据log注解记录有该注解方法的操作日志。**
------
功能:
- 登录
- 登出
- 日志记录(注解)
------
[0.0.1-RELEASE]() 角色,用户
[0.0.2-RELEASE]() 角色,用户,组织,部门;角色和部门关联
```java
<dependency>
<groupId>com.gkestor</groupId>
<artifactId>gkestor-usercenter</artifactId>
<version>0.0.2-RELEASE</version>
</dependency>
```
有0.0.1-RELEASE/0.0.2-RELEASE两个版本,可根据自己需要导入不同版本依赖;0.0.1版本没有组织和部门表,角色直接和用户相关联;0.0.2版本有组织和部门表,角色和部门关联。
```
swagger:
api:
title: "用户中心接口文档"
client:
secret: gkestor-yjfs
redis:
user:
key: "yjfs-user:"
token:
key: "yjfs-token:"
```
swagger.api.title配置swagger上服务名称;
client.secret 配置spring security客户端密码;
redis.user.key 配置redis存入用户信息的key的前缀(完整key是redis.user.key + userId);
redis.token.key 配置redis存入用户token的key的前缀(完整key是redis.token.key + userId);
-
1. ```
/**
* 登录后方法
* @param joinPoint
* @param ret
* @param userId
*/
void loginAfter(JoinPoint joinPoint,ResponseEntity<OAuth2AccessToken> ret,String userId);
```
该方法在登录完成,该方法在token存入redis后执行。
2. ```
/**
* 根据用户名查询用户
* @param userName
* @return
*/
SecurityUser findByUserName(String userName);
```
该方法会传入用户名,需要通过用户名查询用户,返回该用户。
3. ```
/**
* 修改用户当前角色
* @param securityUser
* @return
*/
boolean updateCurrentRoleId(SecurityUser securityUser);
```
该方法入参为当前登录用户对象,对象修改了当前角色值,可对用户对象的当前角色进行修改,如不需修改直接返回true。
4. ```
/**
* 根据用户id查询用户
* @param userId
* @return
*/
SecurityUser findByUserId(Integer userId);
```
该方法入参为当前登录的用户id,需要根据用户id查询,返回用户信息。
5. ```
/**
* 查询全部用户
* @return
*/
List<SecurityUser> findAllUser();
```
该方法需要返回全部用户信息,会在服务启动时将返回的用户信息存入redis,之后根据用户id查询直接redis询用户信息,如不需要存入redis则返回null。
-
1. ```
/**
* 查询用户角色关系
* @param userId
* @return
*/
List<BaseUserRole> findUserRoleByUserId(Integer userId);
```
该方法入参为登录的用户id,需要查询该用户所有角色,返回用户角色关联对象。
2. ```
/**
* 查询角色与权限关系
* @param roleId
* @return
*/
List<BaseUserRole> findRoleMenuByRoleId(Integer roleId);
```
该方法入参为角色id,需要查询该角色所对应权限,返回角色权限关联对象。
3. ```
/**
* 根据角色id查询权限
* @param roleIds
* @return
*/
List<String> findAuthByRoleIds(Set<Integer> roleIds);
```
该方法入参为一个角色id的list集合,需要查询这些角色所拥有的所有权限标识,去重去空,返回权限标识的list集合。
-
1. ```
/**
* 查询角色与权限关系
* @param roleId
* @return
*/
List<BaseUserDept> findRoleMenuByRoleId(Integer roleId);
```
该方法传入参为角色id,查询该角色所对应权限,返回角色权限关联对象。
2. ```
/**
* 查询组织
* @param orgId
* @return
*/
BaseOrg findOrg(Integer orgId);
```
该方法入参为登录用户的组织id,查询该组织是否存在,返回查询到的组织,进行判断是否存在。
3. ```
/**
* 查询用户部门关系
* @param userId
* @return
*/
List<BaseUserDept> findUserDeptByUserId(Integer userId);
```
该方法入参为登录用户id,需要查询该用户所有部门,返回用户部门关联对象。
4. ```
/**
* 查询角色部门关系
* @param deptId
* @return
*/
BaseUserDept findRoleDeptByDeptId(Integer deptId);
```
该方法入参是部门id,需要查询该部门所对应角色,返回角色部门关联对象。
5. ```
/**
* 查询权限
* @param deptIds
* @return
*/
List<String> findAuthByDeptId(Set<Integer> deptIds);
```
该方法入参为一个部门id的list集合,需要查询这些部门所拥有的所有角色所拥有的权限标识,去重去空,返回权限标识的list集合。