身份验证级别协商

客户端和服务器都必须参与身份验证,并且每一方都表示希望执行某种级别的身份验证。 在调用开始时,双方协商身份验证级别,选择适当的服务,对调用进行身份验证,并继续进行(根据选择的身份验证级别进行可能的加密)。 在客户端和服务器之间协商的身份验证级别被确定为最大(客户端首选项服务器首选项)。 这样做的效果意味着服务器总是可以规定它可以接受的最低级别的身份验证;也就是说,可以从服务器以管理方式指定身份验证。

客户端指定它希望像任何 COM 应用程序一样在某个级别上执行身份验证。 客户端身份验证级别可以如下所示:

  • 每个客户端计算机,使用 DCOMCNFG 或组件服务管理工具设置的计算机范围的 COM 身份验证级别。
  • 对每个客户端应用程序进行管理,如果客户端是 COM+ 应用程序,则使用 DCOMCNFG 或使用组件服务管理工具。
  • 使用 CoInitializeSecurity 以编程方式处理每个客户端进程。
  • 随时以编程方式使用 CoSetProxyBlanket

COM+ 服务器应用程序通过使用组件服务管理工具(或通过管理脚本)以管理方式指定身份验证级别。

调用的身份验证协商按以下顺序进行:

  1. 身份验证级别选择为 MAX(客户端服务器)。
  2. 身份验证协议协商。
  3. 服务器对客户端标识进行身份验证。
  4. (可选)客户端根据身份验证协议对服务器标识进行身份验证。
  5. 方法调用与所选的身份验证级别进行通信。

客户端身份验证