gpt4 book ai didi

java - 如何使用端口号来保护 Web 请求

转载 作者:行者123 更新时间:2023-11-28 22:55:46 25 4
gpt4 key购买 nike

我有一些使用 Spring-security 并部署在 Tomcat7 中的 Web 应用程序。在 tomcat 中有两个连接器(8080、8081)。我想共享我的应用程序的一部分并授予对 ${ip}:8080/${servercontext}/resource 之类的请求的访问权限,并通过此端口保护应用程序的其余部分,即拒绝 ${ip}:8080/${服务器上下文}/其他资源。但像 ${ip}:8081/${servercontext}/otherresource 这样的请求必须是可访问的(8081 端口)。

我该怎么做?

最佳答案

根据 Spring security documentation ,您可以在 intercept-url 标签中使用 requires-channel 属性:

<http>
<intercept-url pattern="/resource/**" access="ROLE_USER" requires-channel="https"/>
<intercept-url pattern="otherresource" access="ROLE_USER" requires-channel="any"/>
...
</http>

您还可以注意到,有一种其他方法(非特定于 spring 的),在您的 web.xml 中添加以下代码:

<security-constraint>
<web-resource-collection>
<web-resource-name>HTTPSOnly Resources</web-resource-name>
<url-pattern>/resources*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

这会自动将用户重定向到 HTTPS(您需要配置您的服务器以支持 HTTPS,但看起来您已经这样做了)

关于java - 如何使用端口号来保护 Web 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27598014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com