[Force.comでWeb制作]カスタマーポータルのユーザアカウントにパスワードを事前設定2 - 標準ユーザのパスワードを事前設定
以前紹介したように、カスタマーポータル/パートナーポータルのポータルユーザのアカウントについてはパスワードを事前設定しておくことができます。
参考:[Force.comでWeb制作]カスタマーポータルのユーザアカウントにパスワードを事前設定
これと同じように、ポータルユーザではなく通常のSalesforceユーザのパスワードも事前設定しておきたい、というケースにも直面することがあります。
ケースと対処方法を分類するとこんな感じ。
初期ログイン時の パスワード変更画面非表示 |
初期ログインパスワードの プリセット |
|
標準ユーザ | パスワードリセット時には「秘密の質問」の設定画面が必ず表示されるため、必ずパスワード変更が求められる。 | パスワードリセット時には「秘密の質問」の設定画面が必ず表示されるため、必ずパスワード変更が求められる。 |
ポータルユーザ | API経由でsetpasswordを事前に実行しておく | API経由でsetpasswordを事前に実行しておく |
初期ログイン時の流れ
標準ユーザの場合
1.メールが届く | 2.パスワード変更画面 | 3.変更&ログイン完了 |
ポータルユーザの場合
1.メールが届く | 2.ログイン画面でログイン | 3.パスワード変更画面 | 4.変更&ログイン完了 |
標準ユーザとポータルユーザの違い
ポータルユーザと標準ユーザの初回ログイン時は通常は
- 標準ユーザは「秘密の質問と答え」の設定が求められる。
- ポータルユーザは、ログインしたあとにパスワード変更画面が表示されるが、標準ユーザはパラメータにクレデンシャル付きのURLがメールで送られれてきて、そのURLを踏むことでログイン画面を省略している。
という点が異なります。
ポータルユーザの場合は以前説明したように、API経由でsetpasswordを実行することで、初回ログイン時のパスワードを事前設定して、パスワード変更画面を表示させずにログインできるようになります。標準ユーザとの違いは、初回ログイン時(と、パスワードリセット時)に要求される「秘密の質問」の有無です。標準ユーザのほうではsetpasswordでパスワードを設定できてもこの「秘密の質問」と答えを設定することはできないので、結局どうしてもパスワード変更画面が表示されてしまいます。
パスワード変更画面のURLは、標準ユーザ、ポータルユーザともに
https://ap.salesforce.com/_ui/system/security/ChangePassword?retURL=/home/home.jsp
です(redURLは可変)。 遷移してきたユーザがポータルユーザか標準ユーザかで表示内容が切り替わっているようです。