Проблемы с URL-шаблоном Tomcat

Я пытаюсь защитить свое веб-приложение, используя ограничение безопасности tomcats. Поэтому я добавил папку «prot», которую хочу защитить с помощью шаблона URL-адреса в файле web.xml. Когда я меняю тег на <url-pattern>/prot</url-pattern>, моя страница входа не появляется, поэтому файл, который я хотел защитить. Когда я меняю путь на <url-pattern>/*</url-pattern>, появляется страница входа в систему, но без какого-либо javascript, который я определил в отдельном файле (который заблокирован от tomcat?). В контексте я добавил путь /mywebapp/prot. Как защитить папку prot? Заранее спасибо!


person Poessl    schedule 19.03.2012    source источник


Ответы (1)


Вы должны защищать по умолчанию и снимать защиту, что хотите.

Ограничения должны быть объявлены в web.xml от наиболее конкретных к наиболее универсальным, чтобы в первую очередь сопоставляться с наиболее конкретными.

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Unsecure resources</web-resource-name>
        <url-pattern>/unsecure</url-pattern>
    </web-resource-collection>
</security-constraint>

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Secure resources</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>authenticated</role-name>
    </auth-constraint>
</security-constraint>
person Bruno Grieder    schedule 20.03.2012
comment
Это не так прямолинейно, что простое существование <auth-constraint> решает о безопасности или нет, но на первый взгляд это действительно имеет смысл. - person B--rian; 16.08.2017