今日のひとこと Challange IT For Future

Fessでパスワード変更後に他のログインセッションが終了する条件

Fess 読了 2分
目次
  1. 別のブラウザーで再ログインを確認する
  2. 確認間隔と対象範囲
  3. 関連PR

Fess 15.10向けの開発版では、ローカルユーザーのパスワードを変更すると、同じユーザーで開いている別のセッションが次の確認時に終了します。本体の変更はmainにマージ済みです。

別のブラウザーで再ログインを確認する

検証用のローカルユーザーで二つのブラウザーにログインし、片方でパスワードを変更します。もう片方では確認間隔が経過した後に認証が必要な画面を開き、再ログインを求められることを確認します。本人による変更のほか、管理画面やAdmin APIで管理者が変更した場合も対象です。本人が画面で変更したセッションは継続し、v2 APIのパスワード変更では変更を行ったセッションも終了します。

確認間隔と対象範囲

fess_config.properties の password.changed.check.interval は初期値が60秒です。0以下にすると、ログイン状態を取得するリクエストごとに確認し、ユーザーインデックスへの参照が増えます。変更時刻はユーザーインデックスに保存されるため、複数ノードでも各セッションが同じ情報を確認します。アクセスがない間に一斉に切断する方式ではありません。インデックスの参照に失敗したときは、その確認ではセッションを終了しません。

新しい実装で開いたLDAPやSSOのセッションは対象外です。更新前から永続化・複製されているセッションでは、HTTPセッションの作成時刻で判定します。更新前のパスワード変更には時刻が記録されていません。ユーザーインデックスの新しいフィールドは起動時に追加され、再インデックスは不要です。

関連PR