在我们的web.xml中,我们有以下安全约束
<security-constraint>
<web-resource-collection>
<web-resource-name>Everything on the app</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
这很有效,除非我们需要以编程方式打开和关闭此约束,因此基本上需要编写一个过滤器来执行类似的操作。这可能在码头吗?基本上我们需要能够根据自定义配置系统打开或关闭它。
答案 0 :(得分:1)
可以在Jetty中进行,但我认为你不能在jetty.xml中有条件地做到这一点。
我知道你可以通过在应用程序中嵌入Jetty并以编程方式配置和实例化Jetty服务器来实现。我不知道这是如何适合您的部署方案的,但这里是一个嵌入式Jetty服务器的示例,它在所有连接上强制执行CONFIDENTIAL。您可以修改它以有条件地应用ConstraintSecurityHandler(内置调用buildConstraintSecurityHandler),具体取决于您的自定义配置的设置方式。
clean:
bash ./cleanup.sh