2015-09-09 2 views
1

Есть ли способ, когда я могу получить RoleId с использованием имени роли? Я создал некоторые собственные роли на моем портале, такие как «Менеджер проектов», «Клиент» и «Начальник доставки». Теперь мне нужно получить соответствующую роль этих настраиваемых ролей программным способом с помощью Role Name.Как получить RoleId с использованием имени роли в liferay?

Любые предложения?

ответ

4

Вы можете использовать метод RoleLocalServiceUtil.getRole(companyId, name) для получения объекта роли (пример RoleModel). Если вам нужен идентификатор, звоните role.getRoleId().

Идентификатор компании можно получить по телефону ThemeDisplay.getCompanyId().

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; 
} 
Смежные вопросы