0
Я попытался иметь несколько царств безопасности в моем приложении, но я получаю исключение во время развертывания:Многопользовательских области безопасности
сообщения: Множественные элементы Логина-конфигурации обнаружены
фрагмента web.xml:
....
<security-constraint>
<display-name>Admin Constraint</display-name>
<web-resource-collection>
<web-resource-name>Admin Pages</web-resource-name>
<description/>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>ApplicationRealm</realm-name>
</login-config>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>mb-domain</realm-name>
</login-config>
<security-role>
<description/>
<role-name>admin</role-name>
</security-role>
<security-role>
<description/>
<role-name>user</role-name>
</security-role>
...
Что я делаю неправильно?
Кроме того, что это нарушение спецификации, ваш прецедент не ясен. Зачем вам понадобится несколько конфигураций входа? Как контейнер узнает, какую login-config использовать для ограниченных URL-адресов в приложении? – CoolBeans
@CoolBeans «Зачем вам понадобится несколько конфигураций для входа?» - Многие варианты использования -> Разрешить пользователю выбирать способ входа в систему (просто выйти из этого самого веб-сайта и посмотреть параметры входа в систему, которые он представляет) или использовать разные механизмы аутентификации для разных сегментов приложения. И есть даже вариант использования автоматического резервного копирования (сначала попробуйте маркер, если он ошибочно откажется от имени пользователя/пароля) –
@guest «Я пытался иметь несколько областей безопасности» - то, что вы показали, - это механизмы аутентификации * не realms , Царство как термин явно определено в Java EE, оно также может означать «хранилище идентичности». –