关闭调用安全性

调用安全性确定客户端是否有权调用服务器的方法。 有两种方法可以禁用调用安全性:一种是使用 Dcomcnfg.exe 修改注册表,另一种是需要调用 CoInitializeSecurity

使用 DCOMCNFG 关闭调用安全性

使用 Dcomcnfg.exe 修改注册表关闭调用安全性最方便。 但是,只有当客户端和服务器都不调用 CoInitializeSecurity 时,才可以使用 Dcomcnfg.exe 关闭安全性。 这是因为调用 CoInitializeSecurity 时,DCOM 将忽略注册表设置,而是使用提供给 CoInitializeSecurity 的值。

若要关闭 Dcomcnfg.exe 的安全性,客户端和服务器都必须将其身份验证级别设置为“无”。 必须完成以下步骤:

  1. 运行 Dcomcnfg.exe。
  2. 应用程序页上,选择表示服务器的应用程序。 单击属性按钮(或双击所选应用程序)。
  3. 单击“常规”选项卡。
  4. 默认身份验证级别列表框中,选择(无)
  5. 单击应用按钮应用更改;但是,更改不会应用于应用程序的任何正在运行的实例。
  6. 如果客户端出现在应用程序页上的列表上,请重复步骤 2 到 5,选择客户端而不是服务器执行步骤 2。 接着单击“确定”按钮。 如果客户端不在列表中,则可以执行以下三项操作之一:
    • 可以使用 Dcomcnfg.exe 在计算机范围内将客户端的“身份验证级别”设置为“无”。 (请参阅以下警告和步骤。)
    • 可以编程方式将客户端的身份验证级别设置为“无”。
    • 可以为客户端创建 AppID 密钥,以指示身份验证级别为“无”。 (请参阅通过注册表设置进程范围安全性。)

若要在计算机范围内将身份验证级别设置为“无”,请执行以下操作:

注意

将计算机范围的身份验证级别设置为“无”非常不安全。

 

  1. 运行 Dcomcnfg.exe。
  2. 选择“默认属性”选项卡。
  3. 默认身份验证级别列表框中,选择(无)
  4. 单击“确定”按钮。

以编程方式关闭调用安全性

若要以编程方式关闭调用安全性,客户端和服务器都必须调用 CoInitializeSecurity,并将 dwAuthnLevel 参数中的身份验证级别设置为 RPC_C_AUTHN_LEVEL_NONE。

关闭激活安全性