Tomcat 7 - не работает несколько ограничений безопасности

Запустив Tomcat 7, я пытаюсь настроить /conf/web.xml на сервере Tomcat для защиты некоторых URL-адресов с помощью базовой аутентификации и для предоставления некоторых других URL-адресов для общего доступа.

Файл tomcat-users.xml содержит следующую роль и пользователя:

<role rolename="test-ui"/>
<user username="paul" password="password" roles="test-ui"/>

Я добавил следующий раздел в Tomcats /conf/web.xml

<security-constraint>
   <web-resource-collection>
     <web-resource-name>Public access</web-resource-name>
     <url-pattern>/docs/*</url-pattern>
   </web-resource-collection>
</security-constraint>

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Protected access</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>test-ui</role-name>
    </auth-constraint>
</security-constraint>

<security-role>
    <description>Protected access</description>
    <role-name>test-ui</role-name>
</security-role>

<login-config>
    <auth-method>BASIC</auth-method>
</login-config>

Таким образом, существует два элемента "security-constraint", открытый элемент не содержит "auth-constraint", что на самом деле должно означать, что аутентификация не требуется.

Когда я открываю URL http://localhost:8080/

Tomcat просит аутентификацию. Это нормально, однако, когда я открываю URL http://localhost:8080/docs/

Tomcat также запрашивает аутентификацию, и, насколько я понимаю, он настроен как "небезопасный" URL - так что общедоступный доступ, но он не ведет себя так.

Что я сделал не так в конфигурации или этот сценарий не должен работать так?

Благодарю. Павел

2 ответа

Если ограничение безопасности не существует, Контейнер ДОЛЖЕН разрешить доступ без аутентификации для этих URL. ограничение безопасности не является обязательным.

Вам нужен узел в , даже если он пуст, например,

Другие вопросы по тегам