Я пишу поставщика JACC
.
Попутно это означает реализацию PolicyConfiguration
.
PolicyConfiguration
отвечает за принятие информации о конфигурации от сервера приложений, например, какие разрешения присваиваются каким ролям. Это сделано для того, чтобы политика
позже могла принимать решения об авторизации при передаче информации о текущем пользователе и о том, что он пытается сделать.
Однако это не является частью 1181237] (ужасный) контракт PolicyConfiguration для поддержания сопоставления между ролями и их разрешениями, и Принципы
, которые назначены этим ролям.
Обычно - на самом деле всегда - сервер приложений размещает это отображение. Например, в Glassfish вы влияете на это сопоставление, предоставляя такие вещи, как sun-web.xml
и sun-ejb-jar.xml
и так далее, с вашими модулями Java EE. (Эти файлы, зависящие от производителя, отвечают за то, что, например, суперпользователи
- это группа, которой должна быть назначена роль приложения администраторов
.)
Я хотел бы повторно использовать функциональность, которую обеспечивают эти файлы, и я хотел бы сделать это для как можно большего числа серверов приложений.
Вот - совершенно произвольно - подход IBM к этому вопросу, который, похоже, подтверждает мое подозрение, что то, что Хочу сделать принципиально невозможно . (Еще кое-что для моего случая, что этот конкретный контракт Java EE не стоит той бумаги, на которой он напечатан.)
Мой вопрос: как мне получить эту информацию о сопоставлении принципала и роли в - для начала --Glassfish и JBoss из PolicyConfiguration
? Если есть стандартный способ сделать это, о котором я не знаю, я все уши.