サーバーを再起動すると、基本的にセッションのすべてのコンテンツが消去されます。セッションが消去されたため、ユーザーはログインしていると見なされなくなりました。 (JSESSIONID Cookie はブラウザーに残ります)
しかし、ブラウザから JESSIONID Cookie を削除しない限り、春はログインにリダイレクトされません。私の質問は - なぜ春のセキュリティはセッションではなく JESSIONID Cookie に依存するのですか?
これは私の spring-security.xml 構成です -
<security:global-method-security
secured-annotations="enabled" />
<security:http auto-config="true">
<!-- Restrict URLs based on role -->
<security:intercept-url pattern="/portal/login*"
access="IS_AUTHENTICATED_ANONYMOUSLY" />
<security:intercept-url pattern="/logoutSuccess*"
access="IS_AUTHENTICATED_ANONYMOUSLY" />
<security:intercept-url pattern="/**/*.css"
access="IS_AUTHENTICATED_ANONYMOUSLY" />
<security:intercept-url pattern="/**/*.js"
access="IS_AUTHENTICATED_ANONYMOUSLY" />
<security:intercept-url pattern="/portal/**"
access="ROLE_USER, ROLE_ADMIN" />
<security:form-login login-page="/portal/login.action"
login-processing-url="/portal/loginProcess" default-target-url="/portal/index"
authentication-failure-url="/portal/login.action?login_error=1" />
<security:logout logout-url="/portal/logout"
logout-success-url="/portal/login.action" />
</security:http>
<security:authentication-manager>
<security:authentication-provider>
<security:jdbc-user-service
data-source-ref="dataSource"
users-by-username-query="SELECT emailid AS username, password, IF(active = 'Y', true, false) AS enabled FROM users WHERE emailid = ?"
authorities-by-username-query="SELECT username, authority from authorities where username = ?" />
</security:authentication-provider>
</security:authentication-manager>