2012-12-08

Force.com : 大規模ポータルユーザにレコードのアクセス権を設定したい


大規模ポータルユーザにレコードのアクセス権を設定したい



以前書いた記事( カスタマポータルを利用したい )の続編的何か。
あとで、もうちょっと補足する ... かも。



○ カスタムオブジェクト(Foo)の作成

  1. [設定]→[アプリケーションの設定]→[作成]→[オブジェクト]よりオブジェクトを作成する
    • 表示ラベル: Foo
    • API参照名: Foo__c
    • カスタマポータルで利用可: ON
  2. [カスタム項目 & リレーション]より項目を作成する
    • 項目の表示ラベル: 取引先
    • API参照名: Account
    • データ型: 参照関係(取引先)
  3. [トリガ]よりトリガを作成する
    • FooTrigger
      trigger FooTrigger on Foo__c (before insert) {
          if(Trigger.isBefore) {
              User user = [Select Id, UserType, IsPortalEnabled, AccountId From User Where Id = :Userinfo.getUserId()];
              if(user.IsPortalEnabled) {
                  for(Foo__c f : Trigger.new) {
                      f.Account__c = user.AccountId;
                  }
              }
          }
      }
      



○ 共有ルールの設定

  1. [設定]→[管理者設定]→[セキュリティのコントロール]→[共有設定]より[共有設定]画面を表示する
  2. [共有設定]画面の[デフォルトの共有設定・組織の共有設定]欄の[編集]ボタンを押下する
  3. 下記のオブジェクト及びレコードのアクセス権を設定したいオブジェクトに対して、アクセスを「非公開」にし、[保存]ボタンを押下する
    • 取引先、契約、および納入商品
    • 商談 ※ 取引先のアクセス権と連動
    • ケース ※ 取引先のアクセス権と連動
    • Foo(上記で作成したオブジェクト)



○ プロファイル(「HV-TEST1」)の作成

  1. [設定]→[管理者設定]→[ユーザの管理]→[プロファイル]より[プロファイル]画面を表示する
  2. プロファイル一覧より[ユーザライセンス:High Volume Customer Portal]のプロファイル名を押下する
  3. [コピー]ボタンを押下する
  4. [プロファイル名]を「HV-TEST1」として[保存]ボタンを押下する
  5. [プロファイル名:HV-TEST1]の[カスタムオブジェクト権限]の[Foo](上記で作成したオブジェクト)にアクセス権限を与える



○ カスタマポータル(「カスタマポータル」)の設定

※ カスタマポータルの利用は以前書いた記事( カスタマポータルを利用したい )か他を参照
  1. [設定]→[アプリケーション設定]→[カスタマイズ]→[カスタマポータル]→[設定]より[カスタマポータル設定]画面を表示する
  2. [大規模ポータルユーザの共有設定]より[新規]ボタンを押下する
  3. 各項目を設定し、[保存]ボタンを押下する
    • 名前: カスタマポータル
    • プロファイルの選択: HV-TEST1(上記で作成したプロファイル)
    • オブジェクトの選択: Foo(上記で作成したオブジェクト)
  4. 作成した共有セット名のリンクを押下する
  5. [アクセス権を許可]から[オブジェクト:Foo(上記で作成したオブジェクト)]の[編集]リンクを押下する
  6. [Fooの共有設定]画面が表示されるので、値を設定し[保存]ボタンを押下する
    • アクセス権を付与: 大規模ポータルユーザのアカウントが次に一致するすべてのレコード「取引先」(上記で作成したオブジェクトの項目)
    • アクセス権を選択: 参照のみ or 参照・更新



○ カスタマポータルユーザ

■ 作成
  • [取引先]から[取引先責任者]を作成する
■ 有効化
  1. [取引先責任者]詳細画面の[ポータルの使用]選択リストから[カスタマポータルユーザの有効化]ボタンを選択する
  2. [新規ユーザ]画面からユーザを作成する
    • ユーザライセンス: High Volume Customer Portal
    • プロファイル: HV-TEST1(上記で作成したプロファイル)
  3. 作成完了後[新規ユーザ]のメールアドレスに[ユーザ名]と[パスワード]が送信される



○ その他

※ あとで



◇ 環境

  • Salesforce - Developer Edition - API バージョン 25.0





※ この記事は Force.com Advent Calendar に参加しています :-)。