Подтвердить что ты не робот

Ограничение безопасности в web.xml

У меня есть следующие ограничения безопасности, введенные в web.xml. Моя цель состоит в том, что файлы XML находятся в области общего доступа. Это работает для папки /images/*. Однако шаблон url *.xml, похоже, не работает. Любые идеи?

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Public Area</web-resource-name>
            <url-pattern>/xyz</url-pattern>
            <url-pattern>/images/*</url-pattern>
            <url-pattern>/yyz/*</url-pattern>
            <url-pattern>*.xml</url-pattern>
        </web-resource-collection>
    </security-constraint>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Super User Area</web-resource-name>
            <url-pattern>/test/list1</url-pattern>
            <url-pattern>/test/list2</url-pattern>
            <url-pattern>/test/list3</url-pattern>
            <url-pattern>/test/admin.html</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>SUPER_USER</role-name>
        </auth-constraint>
    </security-constraint>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Protected Area</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>ADMIN</role-name>
            <role-name>END_USER</role-name>
        </auth-constraint>
    </security-constraint>


    <security-role>
        <description>Super User</description>
        <role-name>SUPER_USER</role-name>
    </security-role>
    <security-role>
        <description>Admin User</description>
        <role-name>ADMIN</role-name>
    </security-role>
    <security-role>
        <description>End User</description>
        <role-name>END_USER</role-name>
    </security-role>
4b9b3361

Ответ 1

Один из ваших других шаблонов URL-адресов соответствует более чем url-pattern - *.xml requestURI, поэтому он не работает. Например, если у вас есть /test/list/user.xml, то это будет рассматриваться как коллекция веб-ресурсов в Суперпользовательской области, и поэтому SUPER_USER может иметь доступ. поэтому убедитесь, что url-шаблон объявлен более конкретным для ресурсов, чтобы избежать столкновений и неправильной интерпретации. Благодаря

Ответ 2

Собственно, последовательность размещения возникает, первые ограничения безопасности должны быть суперпользователем, а затем ограничениями безопасности в публичных зонах. Если ваше ограничение безопасности принадлежит публичной зоне, оно будет написано с помощью следующих ограничений безопасности.

Ответ 3

Может кто-нибудь сказать мне, где настроить имя роли SUPER USER? У меня та же проблема.