この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ログインフローによる同時セッション数の制限

ログインフローを使用して、ユーザあたりの同時 Salesforce セッション数を制限できます。

同時セッションパッケージのインストール

同時セッションの未管理パッケージには、ログインフローソリューションの要素および対象オブジェクトが含まれています。このパッケージには、ユーザの同時セッション数を取得するプラグインが含まれています。待機中のログインが同時セッション制限を超えた場合、フローによってブロックされます。

パッケージはカスタマイズできます。たとえば、セッション制限を変更してカスタマイズできます。デフォルトでは、パッケージのセッション制限は 1 です。

  1. 同時セッションパッケージをインストールするには、https://login.salesforce.com/packaging/installPackage.apexp?p0=04to0000000WR73 に移動します。
  2. パッケージをインストールしたら、ログインフローをユーザプロファイルに接続できます。同時セッションを制限するプロファイルにフローを割り当てます。

パッケージコンポーネントの作成

同時セッションパッケージのコンポーネントを詳しく見てみましょう。パッケージを見つけられなかった場合は、ここに示す方法でプラグインおよびログインフローを作成できます。

SessionPlugin は、同時セッション数を取得する Apex クラスです。このクラスは AuthSession テーブルを照会し、一時的なセッションを除くセッションの数を合計します。

  1. [設定] から、[クイック検索] ボックスに「Apex クラス」と入力し、[Apex クラス] を選択します。
  2. クラスを作成するには、[新規] をクリックします。
  3. 次のコードをコピーして Apex クラスコンテンツとして貼り付けます。

ログインフローの作成

パッケージのログインフローには次の要素が含まれています。

  • SessionPlugin – 同時セッション数を照会する Apex プラグイン。
  • 決定 – 同時セッション数が制限を超えているかどうかを確認します。この結果によって、ログインをブロックするか許可するかを決定します。
  • ブロック画面 – ログインが制限を超えた場合、フローによってブロック画面要素が表示されます。
  • 割り当て – ログインが制限を超えた場合、この要素は LoginFlow_ForceLogout 変数を true に割り当て、ログインできないようにします。
  • ダミー画面 – この要素はプレースホルダです。フローには、出力変数に従う UI 要素が必要です。
  1. [設定] で、[クイック検索] ボックスに「フロー」と入力して、[フロー] を選択し、[新規フロー] をクリックします。
  2. [画面フロー] を選択して、[作成] をクリックします。
  3. ツールボックスの [マネージャ] タブで [新規リソース] をクリックします。LoginFlow_ForceLogout 出力 Boolean 変数を作成します。この変数が true に設定されていると、ログイン試行はブロックされます。
    LoginFlow_ForceLogout 出力変数の作成
  4. ユーザに許可する同時セッション数を保存する数値変数を作成します。同時セッション数を保存する数値変数の作成
  5. ツールボックスから、[要素] タブを開きます。[Apex アクション (従来)] 要素をキャンバスにドラッグし、SessionPlugin 従来の Apex アクションを選択します。アクションの CONCURRENT_NO パラメータを session_no フロー変数に保存します。
    フローに SessionPlugin 従来の Apex アクションの出力を保存します。
  6. 2 つの結果を持つ決定要素を追加します。ログインが制限を超えた場���、結果はデフォルトである Block になります。それ以外の場合、結果は Allow になります。
    決定要素の作成
  7. 許可されている同時セッション数を超えていることをユーザに知らせる画面要素を追加します。
    ブロック画面の作成
  8. LoginFlow_ForceLogout 出力変数を true に設定する割り当て要素を追加します。
    割り当て要素の作成
  9. コンテンツのない画面を追加します。
    ダミー画面の作成
  10. 要素と要素を接続します。決定を最初の画面に追加するときに、Block の結果を選択します。
    ログインフローの作成
  11. フローを保存します。
  12. フローを有効化します。
  13. ログインフローをプロファイルに接続します。ベストプラクティスは、テストプロファイルを持つ専用のテストユーザを作成することです。
  14. ログアウトし、テストユーザとしてログインしてフローをテストします。

    プロファイルをユーザに割り当てると、Salesforce はフローによってログイン時にユーザをリダイレクトします。ログイン試行が制限を超えた場合、ユーザにブロック画面が表示され、ログインできなくなります。Lightning Experience のブロック画面の例を次に示します。

    ブロック画面の表示例