客户端和服务器都必须参与身份验证,并且每一方都表示希望执行某种级别的身份验证。 在调用开始时,身份验证级别由双方协商,选择适当的服务,并且调用经过身份验证并继续(根据所选的身份验证级别)进行身份验证。 在客户端和服务器之间协商的身份验证级别确定为最大值(客户端首选项,服务器首选项)。 这意味着服务器始终可以决定它熟悉的最小身份验证级别;也就是说,可以从服务器管理上指定身份验证。
客户端指定它希望在与任何 COM 应用程序一样在特定级别执行身份验证。 客户端身份验证级别可以如下所示:
- 每个客户端计算机,使用 DCOMCNFG 或组件服务管理工具设置的计算机范围的 COM 身份验证级别。
- 根据管理方式,使用 DCOMCNFG 或使用组件服务管理工具(如果客户端应该是 COM+ 应用程序)。
- 按客户端以编程方式处理 CoInitializeSecurity。
- 随时以编程方式使用 CoSetProxyBlanket。
COM+ 服务器应用程序通过使用组件服务管理工具(或管理脚本)以管理方式指定身份验证级别。
协商调用的身份验证按以下顺序进行:
- 身份验证级别选择为 MAX(客户端,服务器)。
- 身份验证协议协商。
- 服务器对客户端标识进行身份验证。
- (可选)客户端根据身份验证协议对服务器标识进行身份验证。
- 方法调用与所选身份验证级别进行通信。
相关主题