gpt4 book ai didi

Spring Security HTTPS拦截url访问

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:20 26 4
gpt4 key购买 nike

我无法弄清楚为什么每当我在 HTTPS 中访问我的站点时都没有应用过滤器,如下所示:https://localhost:8443/initiator。因此,它不会正确重定向到未经身份验证的用户的登录页面。如果我使用 http://localhost:8080/initiator 访问它,那么它会正常工作。

我正在为我的 Web 应用程序使用一个非常简单的 Spring 安全配置。如下所示,我希望每个链接都在 SSL 上。

<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<http auto-config="false" >
<intercept-url pattern="/**" requires-channel="https"/>
<intercept-url pattern="/initiator*" access="ROLE_USER" />
<!-- Other configuration here like the logout, login, etc-->
</http>
</beans>

我使用 Spring Security 版本 3.1.3.RELEASE。请注意,如果它是 http,则一切正常。如果我将其设置为 https,它将不再有效。

非常感谢。

最佳答案

您是否尝试过互换规则?由于优先级,我认为当您进入 https://localhost:8443/initiator 时,第一条规则将执行。我的意思是,以这种方式尝试:

<intercept-url pattern="/initiator*" access="ROLE_USER" />
<intercept-url pattern="/**" requires-channel="https"/>

关于Spring Security HTTPS拦截url访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17187421/

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