有什么方法可以使用Role Name获取RoleId吗?我在门户网站上创建了一些自定义角色,例如“项目经理”,“客户”和“交付头”。现在,我需要使用角色名称以编程方式获取这些自定义角色的相应角色。
有什么建议吗?
答案 0 :(得分:5)
您可以使用RoleLocalServiceUtil.getRole(companyId, name)
方法获取角色对象(RoleModel
的实例)。如果您需要ID,请致电role.getRoleId()
。
可以通过致电ThemeDisplay.getCompanyId()
获取公司ID。
答案 1 :(得分:1)
public long getRoleIdByName(String roleName) throws Exception {
if (roleName != null && !roleName.isEmpty()) {
for (Role role : RoleLocalServiceUtil.getRoles(0, RoleLocalServiceUtil.getRolesCount())) {
if (role.getName().equals(roleName)) {
return role.getRoleId();
}
}
}
return -1;
}