我有一个具有Spring安全性的简单Web应用程序。在装有Ubuntu和chrome / firefox的我自己的PC上,一切正常。在办公室中,相同的代码在Fedora 28和firefox中可以正常工作。但是办公室的Chrome浏览器存在一些奇怪的问题。
这是我在春季配置中的http配置:
<http auto-config="true" use-expressions="true" >
<csrf disabled="true" />
<intercept-url pattern="/" access="permitAll"/>
<intercept-url pattern="/auth*" access="permitAll"/>
<intercept-url pattern="/users/edit" access="hasRole('ADMIN')"/>
<intercept-url pattern="/users/info" access="hasRole('USER')"/>
<intercept-url pattern="/users/**" access="hasAnyRole('USER, ADMIN')"/>
<form-login login-page="/auth"
authentication-failure-url="/auth?auth_error=1"
login-processing-url="/my-login"
password-parameter="my-password"
username-parameter="my-username"
default-target-url="/" />
<logout logout-url="/logout" logout-success-url="/" />
</http>
我应该将此请求发送到http://127.0.0.1:8080/users/edit,然后重定向到http://127.0.0.1:8080/auth,在我唱歌之后,我必须返回/ users / edit。在Fedora和Chrome中,我看到它可以回到家而不是/ users / edit。会话似乎已过期,因为每次我必须登录时都会发生相同的情况。
此link是github中的示例代码,Fedora 28中的Chrome版本为“版本66.0.3359.117(正式版本)(64位)”