通过代码给用户直接授权原创
金蝶云社区-熊嘉强
熊嘉强
11人赞赏了该文章 1,294次浏览 未经作者许可,禁止转载编辑于2021年03月08日 19:33:40

给指定用户授予指定的权限,需要使用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:权限隔离维度类型,具体如下图

image.png

Long dimObjId:权限隔离维度对象ID(可能是业务单元ID,合并报表的体系ID,或者其他ID,组织ID)

Map<String, Map<String, List<String>>> appEntityPermItemMap:应用,实体和权限项的映射

--{

      "应用id(数据库fid)":{

                            "单据实体编码(单据标识)":[

                                                           "权限项id(数据库fid)"

                                                    ]

                           }

  }

应用id可以通过查询得到,权限项如下,可以通过指定权限编码去查询得到权限项id

image.png

boolean addOrRemove:true 为授权 , false为取消授权

赞 11