7

Springフレームワークを使用したWebアプリケーションがあります。同時セッション制御では、ユーザーが別のセッションにログインするとすぐに、1人のユーザーに対して1つのログインセッションのみが維持されるSpring機能を使用します。そのユーザーは、前のセッションが期限切れになります。

この場合、「このセッションは期限切れになりました(おそらく、同じユーザーとして複数の同時ログインが試行されたため)」というメッセージが表示されます。

しかし、このメッセージはブラウザの完全な白いページに表示されます。このメッセージをログイン画面にのみ表示したい。

これは、ユーザーの同時セッションを処理したSpringSecurityxmlの一部です。

<security:session-management invalid-session-url="/login.jsp?error=sessionExpired" session-authentication-error-url="/login.jsp?error=alreadyLogin">
                    <security:concurrency-control max-sessions="1" error-if-maximum-exceeded="false" />
</security:session-management>

このメッセージをカスタマイズし、このメッセージを目的のWebアプリケーションページにリダイレクトするための特別なリンクをいただければ幸いです。

前もって感謝します。

4

2 に答える 2

8

spring-security.xmlの元のXMLエントリ

<security:session-management session-authentication-error-url="/login.jsp?error=alreadyLogin">
                    <security:concurrency-control max-sessions="1" error-if-maximum-exceeded="false" />
</security:session-management>

ログインの期限切れアクションまたは無効なセッションURLをリダイレクトするには、xmlに次のパラメータを追加する必要があります

期限切れ-url="url value"

invalid-session-url = "url value"

変更されたXMLエントリ

<security:session-management invalid-session-url="/login.jsp?error=sessionExpired" session-authentication-error-url="/login.jsp?error=alreadyLogin">
                    <security:concurrency-control max-sessions="1" expired-url="/login.jsp?error=sessionExpiredDuplicateLogin" error-if-maximum-exceeded="false" />
</security:session-management>
于 2012-04-30T04:53:38.107 に答える
0

jarのspring-security-coreには、.propertiesファイルがあります。

アプリケーションのカスタムメッセージで必要なプロパティを上書きする必要があります。

于 2012-04-26T09:17:54.033 に答える