2018.04.23

ログインフローでVisualforceページが利用できるようになりました

  • このエントリーをはてなブックマークに追加
  • follow us in feedly
皆さま、初めまして
テラスカイの荻野と申します。
はじめてのブログ投稿となりますがどうぞよろしくお願いいたします。

さて、早速なのですが皆さまはログインフローを使用されていますでしょうか。
ログインフローとはユーザがSalesforceにログインした後の制御ができ、ログイン時にデータの入力をさせたりカスタマイズした2要素認証をプロファイル毎に適用することができます。

弊社の過去のブログもご参考いただければと思います。
今までフローを作成して割り当てを行っていたのですが
Visualforce を使用することが可能となったため試してみました。

作成手順

作成するのはまずVisualforceページになります。
<apex:page sidebar="false" showHeader="false" standardStylesheets="false" controller="VFLoginFlowController">
  <h1>Login Flowへようこそ!!</h1>
  <apex:form >
      <apex:commandButton action="{!finishLoginFlowHome}" value="ホーム"/>
      <apex:commandButton action="{!finishLoginFlowTsk}" value="タスク一覧"/>
      <apex:commandButton action="{!finishLoginFlowReport}" value="レポート確認"/>
  </apex:form>
</apex:page>
login_Flow.page
ボタンを3つ設けただけの簡単なページを作成してみました。

続いてこのページから呼び出されるコントローラになります。
public class VFLoginFlowController {

    public PageReference finishLoginFlowHome() {
        
        //引数に何も指定しない
        return Auth.SessionManagement.finishLoginFlow();
    }

    public PageReference finishLoginFlowTsk() {
        //引数にタスク一覧のURLを指定する
        return Auth.SessionManagement.finishLoginFlow('/one/one.app#/sObject/Task/home');
    }


    public PageReference finishLoginFlowReport() {
        //引数にレポートのIDを指定する
        return Auth.SessionManagement.finishLoginFlow('/00OXXXXXXXXXX');
        // ※idを指定しているためブログ上はXXXXとしています
    }

}
VFLoginFlowController.cls
各ボタンにAuth.SessionManagement.finishLoginFlowがありますが、
Auth.SessionManagement.finishLoginFlow(遷移先) 
でログインフローが完了し指定したページにリダイレクトします。
引数を指定しない場合はホームに遷移となります。

次に作成したVisualforce ページのセキュリティから
ログインフローを適用したいプロファイルを有効にします。

最後にログインフローを作成します。

・種別:VisualForceページ
・名前:任意
・VisualForce ページ:作成したVisualForceページを指定
・ユーザライセンス:ログインフローを設定したいライセンスを選択
・プロファイル:ログインフローを設定したいプロファイルを選択
をそれぞれ指定するだけになります。

今回は「標準ユーザ」プロファイルにログインフローを設定しました。
早速「標準ユーザ」プロファイルのユーザを作成してログインをしてみます。

テスト用のユーザを作成しましたのでログインしてみます。

ログインを実施したところ作成したVisualforceページに遷移しました。

「ホーム」ボタンクリック

「タスク一覧」ボタンクリック

「レポート確認」ボタンクリック

それぞれ指定した画面に遷移することを確認できました。


いかがでしょうか。
今回はボタンをクリックして指定画面に遷移するような簡単なVisualforceページでしたが、
もちろんデータを検索してそれによって遷移先を分岐等も可能です。

ログイン後のページをホーム以外のページに指定したい場合もあるかと思いますので
その際はVisualforceページを指定したログインフローも検討していただければと思います。
23 件

関連する記事