java - Java web.xml 中的动态安全约束配置

标签 java security tomcat constraints security-constraint

我目前有一个必须通过 BasicAuth 进行身份验证的 REST API,但后来有一些其他方法。

它是在 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>

这适用于像 /rest/document/* 这样的 URL。

我的问题是,有谁知道是否可以或如何在不构建和重新部署的情况下动态定义其他 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>

谢谢

最佳答案

每当您对 web.xml 进行更改时,都需要重新启动 Web 应用程序以获取这些更改。

如果您需要动态安全约束,请考虑构建一个自定义的可配置过滤器和一个相关的属性文件,您可以在其中定义 protected 资源(例如)。

关于java - Java web.xml 中的动态安全约束配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9979739/

相关文章:

java - 如何使用java将对象插入到正确的位置?

java - 如何获取鼠标指针下的(ListView 的)单元格?

security - 检测和控制未经授权的共享内存读取

ios - Restkit 和 SSL 证书错误

tomcat - 将 tomcat 嵌入到 grails 应用程序中

java - 比较列表中的间隔 (JodaTime) 是否重叠

java - Spring 未分类SQLException : ORA-01012

java - Java 中 JSON 注入(inject)的强化错误

javascript - Jquery Ajax 安全问题

java - 使用 MYSQL 的 Tomcat PooledConnections