给指定用户授予指定的权限,需要使用PermissionServiceHelper的如下方法
public static boolean userDirectAssignPerm(Long userId, String dimType, Long dimObjId,
Map<String, Map<String, List<String>>> appEntityPermItemMap, boolean addOrRemove)
其中各个参数说明如下:
Long userId:用户id;
String dimType:权限隔离维度类型,具体如下图
Long dimObjId:权限隔离维度对象ID(可能是业务单元ID,合并报表的体系ID,或者其他ID,组织ID)
Map<String, Map<String, List<String>>> appEntityPermItemMap:应用,实体和权限项的映射
--{
"应用id(数据库fid)":{
"单据实体编码(单据标识)":[
"权限项id(数据库fid)"
]
}
}
应用id可以通过查询得到,权限项如下,可以通过指定权限编码去查询得到权限项id
boolean addOrRemove:true 为授权 , false为取消授权
推荐阅读