更新IAM相关文档

This commit is contained in:
JerryMa1024 2020-07-23 20:51:23 +08:00
parent 12997246d8
commit 1c213527ba
2 changed files with 25 additions and 4 deletions

View File

@ -18,6 +18,8 @@ compile("com.diboot:diboot-iam-base-spring-boot-starter:{latestVersion}")
> 如果使用diboot-devtools还需要引入devtools相关依赖可一键生成iam-base相关的controller。
注: iam初始化的账号密码为: admin/123456 ,启动成功后请及时修改密码。
## 2、参数配置
* 注解配置:

View File

@ -10,25 +10,44 @@ MyAuthCredential credential = new MyAuthCredential();
String authtoken = AuthServiceFactory.getAuthService("WX_CP").applyToken(credential);
~~~
## 2、替换用户类型
## 2、替换用户类型或扩展多种用户类型
默认的用户实体为IamUser获取当前登录用户对象:
~~~java
IamUser currentUser = IamSecurityUtils.getCurrentUser();
~~~
如果预置属性如果不能满足业务场景需要,可替换用户为你的实体:
* 首先在登录的方法中生成token前传入当前用户类型
(如果有多种用户类型共用登录接口,可以从前端登录页传入"用户类型值"
~~~java
MyAuthCredential credential = new MyAuthCredential();
credential.setUserTypeClass(Employee.class); // 替换用户类型为自定义
credential.setUserTypeClass(Employee.class); // 用户类型为自定义
String authtoken = AuthServiceFactory.getAuthService("WX_CP").applyToken(credential);
~~~
获取用户对象改为:
获取用户对象相关代码改为:
~~~java
Employee currentUser = IamSecurityUtils.getCurrentUser();
~~~
或多种用户:
~~~java
// 获取当前登录用户抽象对象
BaseLoginUser currentUser = IamSecurityUtils.getCurrentUser();
// 查询用户角色
IamRoleVO roleVO = null;
if(currentUser instanceof IamUser){
IamUser user = (IamUser) currentUser;
// 角色权限数据
roleVO = iamUserService.buildRoleVo4FrontEnd(user);
}
else if(currentUser instanceof Employee){
List<IamRoleVO> roleVOList = iamUserRoleService.getAllRoleVOList(currentUser);
roleVO = IamHelper.buildRoleVo4FrontEnd(roleVOList);
}
...
~~~
## 3、替换缓存Manager
组件默认缓存类为shiro的内存缓存实现MemoryConstrainedCacheManager如果需要替换为redis等自定义缓存
需要创建缓存实现类实现CacheManager接口并配置参数diboot.iam.cache-manager-class为你的缓存类。
需要创建缓存实现类实现CacheManager接口 (可以参考MemoryConstrainedCacheManager的源码)并配置参数diboot.iam.cache-manager-class为你的缓存类。
```
diboot.iam.cache-manager-class=com.xxx.MyCacheManager
```