Я пишу JACC
провайдеру.
Попутно это означает реализацию PolicyConfiguration
.
PolicyConfiguration
Отвечают за прием информации о конфигурации от сервера приложений, например, какие права начислять какие роли. Это сделано для того, чтобы Policy
впоследствии можно было принимать решения об авторизации при передаче информации о текущем пользователе и о том, что он пытается сделать.
Однако он не является частью PolicyConfiguration
(зверского) контракта по поддержанию соответствия между ролями и их разрешениями, Principals
которые назначаются этим ролям.
Обычно - всегда, действительно - сервер приложений содержит это отображение. Например, на Glassfish, вы влияете это отображение, поставляя такие вещи , как sun-web.xml
и sun-ejb-jar.xml
и так далее с модулями Java EE. (Эти файлы, относящиеся к конкретному поставщику, отвечают за то, что, например, superusers
это группа, которой должна быть назначена роль приложения admins
.)
Я хотел бы повторно использовать функциональность этих файлов, и я хотел бы сделать это для максимально широкого спектра серверов приложений.
Вот - совершенно произвольно - взгляд IBM на этот вопрос, который, кажется, подтверждает мое подозрение, что то, что я хочу сделать, по сути невозможно . (Больше боеприпасов для моего случая, что этот конкретный контракт Java EE не стоит бумаги, на которой он напечатан.)
Мой вопрос: как мне получить эту информацию о сопоставлении главных ролей в - для начала - Glassfish и JBoss изнутри PolicyConfiguration
? Если есть стандартный способ сделать это, о котором я не знаю, я весь в ушах.
Because JSR-115 does not define how to address role mapping, WebLogic JACC classes are used for role-to-principal mapping.
см. Docs.oracle.com/cd/E24329_01/web.1211/e24485/…