java - 是否可以根据自定义属性在 web.xml 中启用/禁用安全约束?

标签 java tomcat jboss webserver

我在 web.xml 中有以下 security-constraint 属性

<security-constraint>
    <web-resource-collection>
        <web-resource-name>TempName123</web-resource-name>
        <url-pattern>/a/b/c</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>*</role-name>
    </auth-constraint>
</security-constraint>

这里主要的需求是这个约束需要在一定的基础上加载。在安装过程中,一些用户可能会选择添加此安全性,有些则不会。

在 jboss/tomcat 中是否有任何基于属性的功能,当设置为 true 时会考虑此安全约束,否则将被忽略????

PS:每次需要添加/删除此功能时,我都试图避免基于文件的操作来编辑 web.xml 文件。

最佳答案

安全约束在运行时更新的情况很少见。我的建议是将其嵌入到您的构建过程中,以防您需要在开发/测试期间停用安全约束。我不知道任何(指定的)运行时可配置性。

当然,当您显式标记 tomcat 时,可能有一些方法可以与 Tomcat 的 API 交互以实现此目的 - 我希望这完全是 Tomcat-(版本)特定的并且会惊讶地看到类似的东西这在 servlet 规范中(免责声明:我没有在那里检查 - 很长一段时间没有阅读规范,这只是来自内存和个人期望)

我的单字答案,除非有人证明我是错的:

Is there any property based feature in jboss/tomcat which when set to true then this security constraint is considered, otherwise ignored ????

没有

关于java - 是否可以根据自定义属性在 web.xml 中启用/禁用安全约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46806731/

相关文章:

java - Log4j 保存到文件问题

java - 尝试运行 jar 时出现 HttpClient java.lang.NoSuchMethodError

jboss - 将 WSO2 ESB 4.6.0 部署到 JBoss 7

java - Jboss 7.1.1 : NamingException class can't be found

java - 使用 ArrayList 存储字符串

java - 如何从 jdatePicker 获取选定日期并将其插入到 mysql 数据库

java - 我如何在分布式环境中复制 servletcontext 对象

java - Apache Tomcat 异常 - 打开的文件太多

java - 忽略 Servlet loadOnStartup

java - JBoss AS 6 中的 QuartzScheduler 注入(inject)