ユーザーセッションの管理

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:9分
  • Now Platform は、個々のユーザーセッションを表示および終了し、システムからユーザーをロックアウトし、ユーザーを非アクティブにする機能を提供します。

    ブラウザーで開いているウィンドウの数に関係なく、1 つのセッションと見なされます。ただし、2 つの別々のブラウザー (Google Chrome と Safari など) を開いている場合は、2 つの別々のセッションと見なされます。

    • ユーザーセッションを終了すると、そのユーザーは次のトランザクション (通常は次のブラウザー選択) からログアウトします。システムメンテナンスを実行する場合は、セッションの終了機能を使用します。
    • ユーザーをシステムからロックアウトすると、そのユーザーはログインできなくなり、ユーザーがインスタンスに送信するメールメッセージからアクションを生成できなくなります。ユーザーをロックアウトすると、ユーザーセッションも終了します。
    • ユーザーを非アクティブにすると、[ユーザー] テーブルのアクティブなユーザーを参照するフィールドには表示されません。

    ユーザーセッションの最大アクティブ時間を構成する

    ユーザーアクティビティに関係なくセッションの最大時間を強制することで、インスタンスを保護します。

    始める前に

    必要なロール:admin

    このタスクについて

    デフォルトでは、セッションは非アクティブ状態が一定期間続いた後にのみ期限切れになります。最大アクティブセッション時間を強制すると、ユーザーが最近アクティブであったかどうか (最近セッションの延長を選択したかどうかなど) に関係なく、セッションが終了します。アクティブセッションのタイムアウトは、非アクティブセッションのタイムアウトに設定された値よりも大きくする必要があります。たとえば、非アクティブな状態が 30 分続くとタイムアウトするようにセッションが設定されている場合、アクティブセッションのタイムアウトは 30 分を超える必要があります。

    手順

    1. ナビゲーションフィルターで、「sys_properties.list」と入力します。
    2. 次のプロパティのシステムプロパティ [sys_properties] リストをフィルタリングし、プロパティを選択してそのレコードを開きます。
      • glide.ui.active.session.life_span:ユーザーアクティビティに関係なく、認証されたユーザーセッションの最大セッション時間を設定します。認証されたユーザーは、指定された時間が経過するとインスタンスからログアウトされ、インスタンスにアクセスするには認証情報を再度入力する必要があります。
      • glide.guest.active.session.life_span:ユーザーアクティビティに関係なく、ゲストユーザーセッションの最大セッション時間を設定します。この設定は、エージェントチャット などのゲストユーザーセッションを伴うアプリケーションを使用してインスタンスを保護するのに役立ちます。
    3. [値] フィールドに、ユーザーアクティビティに関係なくセッションがタイムアウトするまでの時間 (分) を入力します。
      値は、非アクティブセッションタイムアウトの対応するプロパティの値よりも大きくする必要があります。認証されたユーザーの場合は glide.ui.session_timeout、ゲストユーザーの場合は glide.guest.session_timeout です。デフォルトでは、認証済みユーザーとゲストユーザーの両方の非アクティブセッションのタイムアウトは 30 分です。
    4. [更新] を選択します。

    非アクティブ後のユーザーセッションタイムアウトの変更

    非アクティブ状態が一定期間続いた後にユーザーセッションをタイムアウトするタイミングを指定します。

    始める前に

    必要なロール:admin

    このタスクについて

    デフォルトで、アプリケーションで 30 分間操作がなかった場合、ログイン画面の [記憶する] チェックボックスをオンにしない限り、ユーザーは自動的にログアウトされます。間隔を長くすると、メモリ内の非アクティブなセッションが不必要にメンテナンスされる可能性があります。このタイムアウト設定は最大 24 時間まで調整できますが、数時間以内に調整してください。

    注:
    • サーバーへの Ajax 呼び出しにより、セッションが維持されます (ラベルやダッシュボードのリフレッシュなど)。
    • ポーリングにより、チャットデスクトップが開いている間はセッションが維持されます (Chat プラグインが必要)。

    手順

    1. ログイン画面の [記憶する] チェックボックスをオフにします。
    2. ナビゲーションフィルターで、「sys_properties.list」と入力します。
    3. システムのプロパティ [sys_properties] リストから、glide.ui.session_timeout プロパティを検索します。
    4. glide.ui.session_timeout が存在しない場合は、[新規] を選択し、次の値を使用して新しいプロパティを追加します。
      • glide.ui.session_timeout
      • 説明:簡単な説明を入力します。この場合、「デフォルトのセッションタイムアウト (30) を上書きします。この値は分単位です」のように入力します。
      • タイプ:適切なデータタイプを選択します。この場合は、[整数] を選択します。
      • :デフォルト値を 30 分から任意の値に変更します。
      注:
      セッションタイムアウトは、インストール出口のカスタマイズによって設定することもできます。

    次のタスク

    管理者は、次のプロパティを [システムプロパティ] テーブルに追加することもできます。

    • glide.security.csrf.handle.ajax.timeout[true] に設定すると、タイムアウトした Ajax 要求のエラーを処理します。
    • glide.security.auto.resubmit.ajax[true] に設定されていて、[インスタンスにログイン] チェックボックスが選択されているか、[記憶する] チェックボックスのデフォルト値を変更する場合、タイムアウトした Ajax 要求を自動的に再送信します。続行するように求めるポップアップがユーザーに表示されます。
    • glide.ui.auto_req.extend.session[true] に設定すると、ユーザーがホームページのリフレッシュ時間に選択した値だけ、ユーザーのセッションが自動的に延長されます。ホームページのリフレッシュ時間がない場合は、標準のタイムアウト値が適用されます。タブレットとモバイルデバイスは、このプロパティをサポートしていません。[false] に設定すると、[記憶する] チェックボックスがオフになっている場合にユーザーセッションがタイムアウトします。タイムアウトは、ホームページのリフレッシュ時間があるかどうかに基づいています。ホームページのリフレッシュ時間がない場合は、標準のタイムアウト値が適用されます。ホームページのリフレッシュ時間が存在する場合、ユーザーセッションは、タイムアウト値にホームページのリフレッシュ時間の 1 間隔分の時間を加えた後にタイムアウトします。たとえば、ユーザーが 5 分間隔を選択した場合、そのセッションはタイムアウト値に 5 分を加えた後に期限切れになります。
      注:
      [記憶する] チェックボックスをオンにしたユーザーは、セッションタイムアウトプロパティの影響を受けません。

    アドミニストレーターは、次のプロパティを追加して、ユーザーセッションの追加のタイムアウト設定を構成することもできます。次の追加設定はシステムリソースの節約に役立ちます。

    • glide.session.unauthorized.timeout.enabled:認証されていないゲストセッションの代替セッションタイムアウトが有効になります。ゲストセッションは、認証情報を含まないインスタンスへの HTTP 要求に対して作成されます。デフォルトでは、このプロパティは [true] に設定されます。
    • glide.unauthorized.session_timeout:認証されたユーザーがインスタンスからログアウトしてからセッションが終了するまでの時間 (分) を指定します。プロパティを [0] より大きく glide.ui.session_timeout プロパティの値より小さい値に設定します。

    セッションの延長をユーザーに求めるプロンプトの表示

    非アクティブに起因するタイムアウトが発生する前にユーザーがセッションを延長する必要がある時間を設定します。

    始める前に

    必要なロール:admin

    このタスクについて

    デフォルトでは、ユーザーは [セッションを延長します] ダイアログボックスで、期限切れの 2 分前にセッションを延長するように求められます。この手順では、ユーザーにこのプロンプトが表示されるタイミングを調整する方法を説明します。

    手順

    1. [すべて] に移動し、ナビゲーションフィルターに「sys_properties.list」と入力します。
    2. glide.ui.session_timeleft プロパティを開きます。
    3. [値] フィールドに、ユーザーにセッションの延長を要求するセッションタイムアウトまでの時間を分単位で入力します。
      値をゼロに設定すると、ユーザーにセッションの延長を求めるメッセージが表示されなくなります。
    4. [更新] を選択します。

    ユーザーをロックアウトする

    ユーザーがインスタンスにアクセスできないようにロックアウトします。

    始める前に

    必要なロール:user_admin または管理者

    手順

    1. 移動先 すべて > ユーザー管理 > ユーザー をクリックし、リストからユーザーを選択します。
    2. [ロックアウト] チェックボックスをオンにして、レコードを更新します。

    ユーザーを非アクティブとしてマークする

    ユーザーを非アクティブとしてマークして、[ユーザー] テーブルのアクティブなユーザーを参照するフィールドにユーザーが表示されないようにすることができます。

    始める前に

    必要なロール:admin

    このタスクについて

    注:
    デフォルトでは、ユーザーを非アクティブとしてマークすると、そのユーザーはロックアウトされます。[非アクティブユーザーのロックアウト (Lock Out Inactive Users)] ビジネスルールがこの動作を管理します。

    [アクティブ] チェックボックスをオフにすると、ユーザーはロックアウトされ、インスタンスにアクセスできなくなります。この機能は、アクティブなユーザーのみがインスタンスにアクセスできるようにする Glide プロパティ glide.authenticate.only.allow.active.user.login によって制御されます。

    手順

    1. 移動先 すべて > ユーザー管理 > ユーザー をクリックし、リストからユーザーを選択します。
    2. [アクティブ] チェックボックスをオフにして、レコードを更新します。

    ユーザーセッションの終了

    たとえば、システムメンテナンスを実行するときにユーザーがまだログインしている場合、ユーザーセッションを終了できます。

    始める前に

    必要なロール:admin

    手順

    1. 移動先 すべて > ユーザー管理 > ログインユーザー.
      同じアプリケーションノードにログインしているユーザーのみを表示できます。ユーザーレコードの値の [アクティブ] フィールドが [false] の場合、ユーザーはログインしていますが、現在はトランザクションを実行していません。ほとんどのユーザーは、常に非アクティブとして表示されます。
    2. 終了するセッションを選択します。
    3. [セッションのロックアウト] を選択します。
      セッションは終了し、ユーザーは次のトランザクション試行時にログインページにリダイレクトされます。ユーザーはロックアウトされていません。複数のユーザーセッションを 1 人のユーザーに関連付けることができます。ユーザーセッションの終了は、特定のセッションにのみ影響します。
      注:
      このプロセスを使用してモバイルユーザーセッションを終了することはできません。