[Force.comでWeb制作]カスタマーポータルのユーザアカウントにパスワードを事前設定2 - 標準ユーザのパスワードを事前設定

By |11月 5, 2010|salesforce, |


以前紹介したように、カスタマーポータル/パートナーポータルのポータルユーザのアカウントについてはパスワードを事前設定しておくことができます。

参考:[Force.comでWeb制作]カスタマーポータルのユーザアカウントにパスワードを事前設定

これと同じように、ポータルユーザではなく通常のSalesforceユーザのパスワードも事前設定しておきたい、というケースにも直面することがあります。
ケースと対処方法を分類するとこんな感じ。

初期ログイン時の
パスワード変更画面非表示
初期ログインパスワードの
プリセット
標準ユーザ パスワードリセット時には「秘密の質問」の設定画面が必ず表示されるため、必ずパスワード変更が求められる。 パスワードリセット時には「秘密の質問」の設定画面が必ず表示されるため、必ずパスワード変更が求められる。
ポータルユーザ API経由でsetpasswordを事前に実行しておく API経由でsetpasswordを事前に実行しておく

初期ログイン時の流れ

標準ユーザの場合

1.メールが届く 2.パスワード変更画面 3.変更&ログイン完了
ws000284 ws0002821 ws000285

ポータルユーザの場合

1.メールが届く 2.ログイン画面でログイン 3.パスワード変更画面 4.変更&ログイン完了
ws000283 ws0002801 ws0002811

標準ユーザとポータルユーザの違い

ポータルユーザと標準ユーザの初回ログイン時は通常は

  • 標準ユーザは「秘密の質問と答え」の設定が求められる。
  • ポータルユーザは、ログインしたあとにパスワード変更画面が表示されるが、標準ユーザはパラメータにクレデンシャル付きのURLがメールで送られれてきて、そのURLを踏むことでログイン画面を省略している。

という点が異なります。

ポータルユーザの場合は以前説明したように、API経由でsetpasswordを実行することで、初回ログイン時のパスワードを事前設定して、パスワード変更画面を表示させずにログインできるようになります。標準ユーザとの違いは、初回ログイン時(と、パスワードリセット時)に要求される「秘密の質問」の有無です。標準ユーザのほうではsetpasswordでパスワードを設定できてもこの「秘密の質問」と答えを設定することはできないので、結局どうしてもパスワード変更画面が表示されてしまいます。

パスワード変更画面のURLは、標準ユーザ、ポータルユーザともに
https://ap.salesforce.com/_ui/system/security/ChangePassword?retURL=/home/home.jsp
です(redURLは可変)。 遷移してきたユーザがポータルユーザか標準ユーザかで表示内容が切り替わっているようです。