У меня есть докер-образ приложения на основе Websphere Liberty. По умолчанию в этом образе используется обычная проверка подлинности с базовым реестром, в котором есть несколько примеров пользователей. Затем группа 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.
Может ли кто-нибудь помочь мне понять это поведение и / или предложить альтернативный подход?