Динамическая настройка ограничения безопасности в Java web.xml

В настоящее время у меня есть REST API, который должен проходить проверку подлинности через BasicAuth, но позже какой-то другой метод.

Это настроено в Tomcat 6 с областями, и у меня есть следующее в моем web.xml,

<security-constraint>
    <web-resource-collection>
        <web-resource-name>document</web-resource-name>
        <url-pattern>/rest/document/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>document</role-name>
    </auth-constraint>
</security-constraint>

<login-config>
    <auth-method>BASIC</auth-method>
    <Realm-name>Tomcat-Advance-Authentication-Realm</Realm-name>
</login-config>

Это прекрасно работает для URL-адресов, таких как /rest/document/*,

У меня вопрос: кто-нибудь знает, возможно ли это или как динамически определять другие URL-адреса без создания и повторного развертывания?

Например, другое ограничение безопасности,

<security-constraint>
    <web-resource-collection>
        <web-resource-name>secure</web-resource-name>
        <url-pattern>/rest/secure/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>secure</role-name>
    </auth-constraint>
</security-constraint>

Спасибо

1 ответ

Решение

Всякий раз, когда вы вносите изменения в web.xml, веб-приложение необходимо перезапустить, чтобы получить эти изменения.

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

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