服务审核行为

此示例演示如何在服务操作过程中使用 ServiceSecurityAuditBehavior 来启用对安全事件的审核。 此示例基于入门指南。 已使用 <wsHttpBinding> 配置服务和客户端。 安全性mode>的属性<已设置为MessageclientCredentialType已设置为 Windows。 在此示例中,客户端是一个控制台应用程序 (.exe),服务是由 Internet 信息服务 (IIS) 承载的。

注释

本示例的设置过程和生成说明位于本主题末尾。

服务配置文件使用 serviceSecurityAudit 元素配置审核。

<behaviors>
  <serviceBehaviors>
    <behavior name="CalculatorServiceBehavior">
      ...
<!-- serviceSecurityAudit allows specification of audit ___location
     and whether to audit success, failure or both. This service
     logs success and failure of messageAuthentication
     to the default ___location -->
     <serviceSecurityAudit auditLogLocation ="Default" messageAuthenticationAuditLevel = "SuccessOrFailure" />
    </behavior>
  </serviceBehaviors>
</behaviors>

运行示例时,操作请求和响应将显示在客户端控制台窗口中。 在控制台窗口中按 Enter 关闭客户端。

可以通过运行事件查看器来查看生成的审核日志。 默认情况下,在 Windows XP 上,审核事件可以在应用程序日志中看到,而在 Windows Server 2003 和 Windows Vista 上,审核事件可以在安全日志中看到。 在 Windows Server 2008 和 Windows 7 上,可以在应用程序和服务日志中看到审核事件。 可以通过将 auditLogLocation 属性设置为“Application”或“Security”来指定审核事件的位置。 有关详细信息,请参阅 “如何:审核安全事件”。 如果在安全日志中写入事件,则 LocalSecurityPolicy -> 应为“成功”和“失败”设置启用对象访问。

查看事件日志时,审核事件的源为“ServiceModel Audit 3.0.0.0”。 消息身份验证审核记录的类别为“MessageAuthentication”,而服务授权审核记录的类别为“ServiceAuthorization”。

消息身份验证审核事件涵盖消息是否被篡改、消息是否已过期以及客户端是否可以向服务进行身份验证。 它们提供有关身份验证是成功还是失败以及客户端标识以及消息发送到的终结点以及与消息关联的作的信息。

服务授权审核事件涵盖服务授权管理器做出的授权决策。 它们提供有关授权是成功还是失败以及客户端的标识、消息发送到的终结点、与消息关联的作、从传入消息生成的授权上下文的标识符以及做出访问决策的授权管理器的类型的信息。

设置、生成和运行示例

  1. 确保已为 Windows Communication Foundation 示例 执行One-Time 安装过程。

  2. 若要生成解决方案的 C# 或 Visual Basic .NET 版本,请按照 生成 Windows Communication Foundation 示例中的说明进行操作。

  3. 要使用单机配置或跨计算机配置运行示例,请按照运行 Windows Communication Foundation 示例中的说明进行操作。

另请参阅