Salesforce Web Services APIを使用して、ユーザーがロックアウトされているかどうかを確認(または照会)できますか(ユーザーが何度もログインに失敗したため、ログインがブロックされている場合)?
4 に答える
Userオブジェクトには、ロックアウトされていることを示す特定のフィールドはありませんが、LoginHistory
オブジェクトにクエリを実行できます。
select Id, UserId, LoginTime, Status from LoginHistory where
UserId = 'xxxxxxxxx' order by LoginTime desc limit 20
次に、結果をループして、フィールドの値を確認しStatus
ます。ユーザーがロックアウトされている場合、最近のログイン試行では、このフィールドに「パスワードロックアウト」の値が表示されます。
このフィールドの他の可能な値は次のStatus
とおりです。
- 成功
- ユーザーは非アクティブです
- 無効なパスワード
- 失敗:APIセキュリティトークンが必要
- 失敗:コンピューターのアクティブ化は保留中
- 失敗:コンピューターのアクティブ化が必要
- 失敗:無効なタイムスタンプ
- 失敗:モバイルライセンスが必要
どうでも; 私は答えを見つけました。
それはドキュメントに書かれています:
パスワードのロックアウトステータスおよびユーザーのロックアウトステータスをリセットする機能は、APIを介して利用できません。ユーザーインターフェイスを使用して、ユーザーパスワードのロックアウトステータスを確認してリセットする必要があります。
管理者ユーザーの場合-SalesforceAモバイルアプリケーションを介してiphone/ipadでユーザーのロックを解除できるようになりました。https://itunes.apple.com/au/app/salesforcea/id731117958?mt=8
Apexでは、次のSOQLを使用して、UserLoginオブジェクトのIsPasswordLockedフィールドをチェックし、ユーザーがロックアウトされているかどうかをチェックできます。
[SELECT IsPasswordLocked FROM UserLogin WHERE UserId='ここにユーザーIDを入力してください'];