Получить роли пользователей на портале издателя или API издателя WSO2 API Manager - PullRequest
0 голосов
/ 25 сентября 2018

Я установил WSO2 API Manager 2.5.0.

Я настраиваю портал Publisher, создавая новую подтему и редактируя файлы .jag.Пока все в порядке.

Я бы хотел показать элементы в зависимости от роли пользователя. Мой первый вопрос: могу ли я получить роль пользователя, вошедшего на портал Publisher, в jag-файлах?

Я не смог найти способ, поэтому подумал об обходе: отправьте запрос наRESTful API для WSO2 API Manager - Publisher .Проблема в том, что я не могу найти (в документации) метод, который возвращает роли пользователя.

Мой второй вопрос: есть какой-то метод для возврата ролей пользователя?

Я знаю решение использования Publisher APIS , но они устарели, и в любом случае я его протестировал, и он всегда возвращает true, даже если пользователь не назначил роль.

Спросите меня больше информации, если вам нужно.Заранее спасибо.

1 Ответ

0 голосов
/ 28 сентября 2018

Одним из возможных решений является вызов метода java, предоставляемого из класса APIUtil.Метод, который вы ищете из этого класса утилит, будет getListOfRoles методом, который имеет следующую сигнатуру:

public static String[] getListOfRoles(String username) throws APIManagementException;

Или же вы можете использовать метод ниже, который не выдает никакой ошибки, а скорее возвращаетпустой массив в случае ошибки.

public static String[] getListOfRolesQuietly(String username);

Таким образом, чтобы использовать этот метод в вашем файле jaggery, вы можете использовать его, используя следующий подход

var roleList = Packages.org.wso2.carbon.apimgt.impl.utils.APIUtil.getListOfRoles(userName);

Приведенное выше должно вернуть массив строкролей в вашем файле Jaggery, используя которые вы можете перейти к следующим шагам.Если вы проверяете другие файлы jaggery, найденные в приложениях Store или Publisher, описанный выше подход заключается в том, как импортировать класс java в файл jaggery и использовать его.

Класс APIUtil доступен здесь: https://github.com/wso2/carbon-apimgt/blob/1.2.5/components/apimgt/org.wso2.carbon.apimgt.impl/src/main/java/org/wso2/carbon/apimgt/impl/utils/APIUtil.java#L2420

...