WCF自定义绑定会引发审核失败(4625)Windows安全事件

时间:2014-02-28 11:07:12

标签: c# .net wcf wcf-binding wcf-security

我正在构建一个WCF服务应用程序,每次客户端调用服务时都会抛出Windows安全事件4625(审核失败)。

对于我的服务,为了安全起见,我使用NetTcpBinding和以下配置:

var binding = new NetTcpBinding
         {
                 MaxBufferSize = 5000000, 
                 MaxReceivedMessageSize = 5000000, 
                 ReaderQuotas = { MaxArrayLength = 5000000, MaxBytesPerRead = 5000000 }
         };
binding.Security.Mode = SecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Certificate;
binding.Security.Transport.ProtectionLevel = ProtectionLevel.EncryptAndSign;

构建此NetTcpBinding后,我有以下代码将此绑定包装在CustomBinding中,以便我可以分配自定义IdentityVerifier

var bindingElements = binding.CreateBindingElements();
var ssl = bindingElements.Find<SslStreamSecurityBindingElement>();
ssl.IdentityVerifier = new CustomEndpointIdentityVerifier(caCertificateThubprint);
return new CustomBinding(bindingElements);

这是根据MSDN http://msdn.microsoft.com/en-us/library/ms734778(v=vs.110).aspx

中的此示例完成的

问题在于,当我返回此自定义绑定而不是我在第一步中创建的NetTcpBinding时,每次执行我的应用程序时,我都会遇到审计失败的窗口事件,其中的详细信息不多。 当我返回NetTcpBinding时,不会抛出这些安全事件。 使事件更有趣的原因是,当我在Active Directory域下的计算机上运行相同的代码时,会抛出这些事件,但如果我在不在域下的PC上运行它,则不会抛出事件。

是否有人可以提供帮助或提供任何提示?

0 个答案:

没有答案