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

如何在liferay中使用角色名获取RoleId?,liferay,liferay-6,Liferay,Liferay 6,是否有任何方法可以使用角色名获取角色ID?我在门户上创建了一些自定义角色,如“项目经理”、“客户”和“交付负责人”。现在,我需要使用角色名以编程方式获取这些自定义角色的相应角色 有什么建议吗 您可以使用RoleLocalServiceUtil.getRole(companyId,name)方法获取角色对象(RoleModel的实例)。如果需要id,请调用role.getRoleId() 可以通过调用主题显示.getCompanyId()来获取公司id public long getRoleIdB

是否有任何方法可以使用角色名获取角色ID?我在门户上创建了一些自定义角色,如“项目经理”、“客户”和“交付负责人”。现在,我需要使用角色名以编程方式获取这些自定义角色的相应角色


有什么建议吗

您可以使用
RoleLocalServiceUtil.getRole(companyId,name)
方法获取角色对象(RoleModel的实例)。如果需要id,请调用
role.getRoleId()

可以通过调用
主题显示.getCompanyId()
来获取公司id

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