Переопределить роль приложения application-bnd security с помощью configDropins - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть образ докера приложения, основанного на свободе websphere.По умолчанию этот образ использует базовую аутентификацию с basicRegistry, в которой есть несколько примеров пользователей.Затем группа basicRegistry привязывается к роли безопасности следующим образом (и эта роль безопасности указана в файле web.xml приложения):

<webApplication id="myWebapp" ...>
    <application-bnd>
        <security-role name="Users">
            <group name="Users"/>
        </security-role>
    </application-bnd>
</webApplication>

Теперь в моей среде аутентификация будет обрабатываться вне этой области.контейнер, и поэтому я хочу отключить базовую проверку подлинности и сделать ее открытой для всех, кто может получить к ней доступ.Вместо того, чтобы переупаковывать весь server.xml, я надеялся просто добавить некоторую конфигурацию в configDropins / override, чтобы отключить аутентификацию для веб-приложения.

После попытки его я довольно озадачен, / как этодолжен работать ... Вот наблюдаемое поведение:

Если я сначала запускаю сервер, затем добавлю фрагмент конфигурации в configDropins / override, например:

<webApplication id="myWebapp">
    <application-bnd>
        <security-role name="Users">
            <special-subject type="EVERYONE"/>
        </security-role>
    </application-bnd>
</webApplication>

Затемвеб-приложение перезагрузится, и базовая аутентификация будет отключена (хорошо).

Однако, когда я упаковываю этот же фрагмент конфигурации в configDropins / override и , а затем запускает сервер, веб-приложение запускается сбазовая аутентификация включена, и все запросы не выполняются со статусом HTTP 401.

Может кто-нибудь помочь мне понять это поведение и / или предложить альтернативный подход?

1 Ответ

0 голосов
/ 22 декабря 2018

Добавление атрибута "id" к элементу security-role должно решить эту проблему.В вашем примере, по сути, есть два элемента роли безопасности после обработки конфигурации.Среда выполнения безопасности объединит их вместе на основе имени, но поведение будет различаться в зависимости от порядка получения двух элементов роли безопасности.

...