gpt4 book ai didi

java - 解析拦截 url spring security 时的无限循环

转载 作者:行者123 更新时间:2023-11-30 11:23:22 26 4
gpt4 key购买 nike

我在 Spring 安全方面还很陌生。我正在执行以下代码。

<http auto-config="true"  use-expressions="true">
<intercept-url pattern="/css/**" filters="none" />
<intercept-url pattern="/sign" access="isAnonymous()" />
<intercept-url pattern="/signup" access="isAnonymous()" />
<intercept-url pattern="/panel/signin" access="isAnonymous()" />
<intercept-url pattern="/singout" access="permitAll" />
<intercept-url pattern="/panel/**" access="hasRole(ROLE_USER)" />
<intercept-url pattern="/**" access="isAuthenticated()" />
<form-login login-page="/signin" default-target-url="/home" authentication-failure-url="/signin" />
<logout logout-success-url="/logout" />
</http>

<authentication-manager>
<authentication-provider user-service-ref="userLoginService">
<password-encoder hash="plaintext"/>
</authentication-provider>
</authentication-manager>

我想为匿名用户打开 signin、signup、/panel/sigin、/panel/signup,但想限制 url 的其余部分。但是当我使用这段代码时,它在浏览器上显示“无限循环”错误。

当我删除一行时然后就可以了,但不限制 url。

有人可以更正这段代码吗。

最佳答案

当您尝试访问一些安全的 URL 时,应用程序会将您重定向到登录页面,但是由于 /singin也是安全的(最后一个过滤器 /** 对其进行了处理)应用程序尝试一次又一次地重定向到登录页面。

添加<intercept-url pattern="/singin" filters="none" />permitAll在顶部。

    <http auto-config="true"  use-expressions="true">
<intercept-url pattern="/singin" filters="none" />
<intercept-url pattern="/css/**" filters="none" />
<intercept-url pattern="/sign" access="isAnonymous()" />
<intercept-url pattern="/signup" access="isAnonymous()" />
<intercept-url pattern="/panel/signin" access="isAnonymous()" />
<intercept-url pattern="/singout" access="permitAll" />
<intercept-url pattern="/panel/**" access="hasRole(ROLE_USER)" />
<intercept-url pattern="/**" access="isAuthenticated()" />
<form-login login-page="/signin" default-target-url="/home" authentication-failure-url="/signin" />
<logout logout-success-url="/logout" />
</http>

关于java - 解析拦截 url spring security 时的无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21241897/

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