如何在liferay中使用角色名称获取RoleId?

时间:2015-09-09 06:50:36

标签: liferay liferay-6

有什么方法可以使用Role Name获取RoleId吗?我在门户网站上创建了一些自定义角色,例如“项目经理”,“客户”和“交付头”。现在,我需要使用角色名称以编程方式获取这些自定义角色的相应角色。

有什么建议吗?

2 个答案:

答案 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;
}