CREDENTIAL_PROVIDER_USAGE_SCENARIO列舉 (credentialprovider.h)

宣告支持認證提供者的案例。 認證提供者使用案例 (CPUS) 可讓認證提供者跨案例提供不同的列舉行為和 UI 字段設定。 初始化 ICredentialProvider 時,它會呼叫 ICredentialProvider::SetUsageScenario 來設定支援的使用案例。 該案例會在認證提供者的整個存留期內維護。

Syntax

typedef enum _CREDENTIAL_PROVIDER_USAGE_SCENARIO {
  CPUS_INVALID = 0,
  CPUS_LOGON,
  CPUS_UNLOCK_WORKSTATION,
  CPUS_CHANGE_PASSWORD,
  CPUS_CREDUI,
  CPUS_PLAP
} CREDENTIAL_PROVIDER_USAGE_SCENARIO;

常數

 
CPUS_INVALID
值: 0
認證提供者未設定使用案例。 此案例不會傳遞至 ICredentialProvider::SetUsageScenario。 如果認證提供者將其目前的使用案例儲存為類別成員,這會在第一次呼叫 ICredentialProvider::SetUsageScenario 之前提供初始化值。
CPUS_LOGON
工作站登入或解除鎖定。 如需詳細資訊,請參閱<備註>小節。 實作此案例的認證提供者應該準備好將認證串行化至本機授權單位以進行驗證。
CPUS_UNLOCK_WORKSTATION
工作站解除鎖定。 實作此案例的認證提供者應該準備好將認證串行化至本機授權單位以進行驗證。 這些認證提供者也需要列舉目前登入的使用者作為預設磚。
CPUS_CHANGE_PASSWORD
密碼變更。 這可讓認證提供者列舉磚,以回應使用者變更密碼的要求。 如果您不需要使用者的某些秘密資訊,例如密碼或 PIN,請勿實作此案例。 這些認證提供者也需要列舉目前登入的使用者作為預設磚。
CPUS_CREDUI
認證UI。 此案例可讓您使用認證提供者串行化的認證,以作為遠端電腦上的驗證。 這也是用於在使用者 存取控制 中過度提示的案例。 此案例使用與用於 CPUS_LOGONCPUS_UNLOCK_WORKSTATIONCPUS_CHANGE_PASSWORD不同的認證提供者實例,因此認證提供者的狀態無法在不同案例中維護。
CPUS_PLAP
登入前存取提供者。 回應此使用案例的認證提供者必須登錄下列專案:



HKLM\軟體\微軟\窗戶\CurrentVersion\認證\PLAP 提供者

備註

從 Windows 10 開始,已合併CPUS_LOGONCPUS_UNLOCK_WORKSTATION使用者案例。 這可讓系統支援多位使用者登入計算機,而不需要建立和切換會話。 機器上的任何使用者都可以在鎖定後登入,而不需要離開目前的會話並建立新的會話。 因此, CPUS_LOGON 可用於登入系統或解除鎖定工作站時。 不過,在所有情況下都無法使用 CPUS_LOGON 。 由於各種系統所加諸的原則限制,有時使用者案例需要 CPUS_UNLOCK_WORKSTATION。 您的認證提供者應該夠強固,以根據提供給它的案例來建立適當的認證結構。 Windows 會根據情況要求適當的使用者案例。 某些影響 CPUS_UNLOCK_WORKSTATION 案例的因素包括下列各項。 請注意,這隻是可能性的子集。

  • 裝置的作業系統。
  • 這是否為主控台或遠端會話。
  • 組策略,例如隱藏快速使用者切換的進入點,或不會顯示使用者姓氏的互動式登錄。
需要列舉目前登入系統的認證提供者,因為默認磚可以追蹤目前的使用者,或利用 WTSQuerySessionInformation 之類的 API 來取得該資訊。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 credentialprovider.h

另請參閱

Windows 10 中的認證提供者