我有一个问题。当我启动应用程序并第一次输入时(例如 wwww.sitename.com/index),我会被重定向到登录页面。然后,如果我再次输入 wwww.sitename.com/index,我将重定向到索引页面。
可能我的配置有错误,但我不明白出了什么问题
<security:session-management invalid-session-url="/login" session-authentication-error-url="/login" >
<security:concurrency-control max-sessions="1" expired-url="/login" error-if-maximum-exceeded="true"/>
</security:session-management>
<security:form-login
login-page="/login"
default-target-url="/index"
always-use-default-target="true"
authentication-success-handler-ref="customSuccessHandler"
authentication-failure-handler-ref="customFailureHandler"
username-parameter="j_username"
password-parameter="j_password" />
<security:logout
logout-success-url="/login"
delete-cookies="JSESSIONID"
invalidate-session="true" />
<security:intercept-url pattern="/" access="permitAll" />
<security:intercept-url pattern="/prv/**" access="hasRole('ROLE_USER')" />
<security:intercept-url pattern="/admin/**" access="hasRole('ROLE_ADMIN')" />
根据我的intercept-url,我应该能够访问不在prv和admin文件夹下的所有页面,而无需登录,我不应该吗?
最佳答案
我认为问题在于第一个陈述。
<security:session-management invalid-session-url="/login" session-authentication-error-url="/login" >
在这里,如果用户提供了无效的 session ID,那么他应该被重定向到登录页面。当您在一段时间后访问该页面并且您的 session 已过期时,可能会发生这种情况。尝试删除所有cookie并再次访问该页面。
关于java - Spring 登录将我重定向到登录页面,即使我看到的页面不 protected ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26990120/