Динамическая настройка ограничения безопасности в 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, веб-приложение необходимо перезапустить, чтобы получить эти изменения.
Если вам нужно динамическое ограничение безопасности, подумайте о создании настраиваемого настраиваемого фильтра и файла связанных свойств, в котором вы можете определить защищенные ресурсы (например).