CREDENTIAL_PROVIDER_USAGE_SCENARIO 枚举 (credentialprovider.h)
声明支持凭据提供程序的方案。 (CPUS) 的凭据提供程序使用方案使凭据提供程序能够跨方案提供不同的枚举行为和 UI 字段设置。 初始化 ICredentialProvider 时,它会调用 ICredentialProvider::SetUsageScenario 来设置受支持的使用方案。 该方案在凭据提供程序的整个生存期内进行维护。
语法
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_LOGON、 CPUS_UNLOCK_WORKSTATION和 CPUS_CHANGE_PASSWORD的实例不同,因此无法在不同方案中维护凭据提供程序的状态。 |
CPUS_PLAP 预登录访问提供程序。 响应此使用方案的凭据提供程序必须在以下项下注册: HKLM\软件\微软\窗户\CurrentVersion\认证\PLAP 提供程序 |
注解
从Windows 10开始,CPUS_LOGON和CPUS_UNLOCK_WORKSTATION用户方案已合并。 这使系统能够支持多个用户登录到计算机,而无需不必要地创建和切换会话。 计算机上的任何用户都可以在锁定后登录到该会话,而无需退出当前会话并创建新会话。 因此, CPUS_LOGON 既可用于登录到系统,也可用于在工作站解锁时使用。 但是,不能在所有情况下都使用 CPUS_LOGON 。 由于各种系统施加的策略限制,有时需要 CPUS_UNLOCK_WORKSTATION用户方案。 凭据提供程序应足够可靠,以便根据给定的方案创建适当的凭据结构。 Windows 将根据情况请求相应的用户方案。 影响是否必须使用 CPUS_UNLOCK_WORKSTATION 方案的某些因素包括以下因素。 请注意,这只是可能性的子集。
- 设备的操作系统。
- 这是控制台会话还是远程会话。
- 组策略,例如隐藏用于快速用户切换的入口点,或不显示用户姓氏的交互式登录。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | credentialprovider.h |