activiti7的强制绑定角色问题
角色强绑定问题及解决方案
在使用若依的基础上,本打算将activiti7集成进去,结果在测试调用activiti的api时返回前端"没有权限,请联系管理员授权"
本来还以为是若依的权限校验,结果通过debug发现日志中报错Expression=hasRole('ACTIVITI_USER')
网上查询才发现开发者丧心病狂的在各大Service中强行植入了Security,并且强绑定角色
无奈只能在登录时手动加上对应角色
public UserDetails createLoginUser(SysUser user) {
// 使用acticiti必须加上该角色
final Set<String> menuPermission = permissionService.getMenuPermission(user);
menuPermission.add("ROLE_ACTIVITI_USER");
final List<SimpleGrantedAuthority> authorities = menuPermission.stream().map(SimpleGrantedAuthority::new).collect(Collectors.toList());
return new LoginUser(user.getUserId(), user.getDeptId(), user, menuPermission, authorities);
}
这样问题才得以解决,真的太坑了

浙公网安备 33010602011771号