【发布时间】:2026-02-20 21:35:01
【问题描述】:
我最近在我的Java Spring MVC web application 中实现了Spring Security Token based remember me 功能。我的 spring-security.xml 文件如下:
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/login**" access="permitAll" />
<intercept-url pattern="/layout/**" access="permitAll" />
<intercept-url pattern="/min/**" access="permitAll" />
<intercept-url pattern="/rest/v3/**" access="permitAll" />
<intercept-url pattern="/password/**" access="permitAll" />
<intercept-url pattern="/register/**" access="permitAll" />
<intercept-url pattern="/unsubscribe/**" access="permitAll" />
<intercept-url pattern="/**" access="isFullyAuthenticated()"/>
<form-login login-page="/login" default-target-url="/"
authentication-failure-url="/login?error" username-parameter="username"
password-parameter="password" />
<logout logout-success-url="/login?logout" invalidate-session="false" />
<!-- enable csrf protection
<csrf />
-->
<!-- access denied page -->
<access-denied-handler error-page="/403" />
<logout delete-cookies="JSESSIONID"/>
<remember-me key="myAppKey" />
</http>
我已尝试将permitAll() 选项添加到登录“URL”,正如某些文档所理解的那样。但似乎没有什么对我有用。我在所有其他 Web 应用程序中都使用了相同的配置。
【问题讨论】:
-
使用浏览器的 Web 开发人员功能来确定哪些 URL 正在重定向到什么。 (我怀疑某些东西正在重定向到错误的地方......)
-
Hmmm ... "/login**" 是正确的语法吗?如果它与登录页面不匹配,则
permitAll()将不适用,您将直接进入登录页面的“/**”规则 (!) -
@Stephen C,我发现 / 是重定向太多的 URL
标签: java spring spring-mvc spring-security remember-me