C# 使用2个不同域帐户的WCF tcp传输安全

C# 使用2个不同域帐户的WCF tcp传输安全,c#,wcf,C#,Wcf,我有一个使用tcp通道和传输安全的服务,我得到一个奇怪的行为,我无法解释。该服务使用具有特定AD用户身份的应用程序池托管在IIS上。如果同一AD域中的客户端希望连接到此服务,则它必须使用与托管该服务的用户相同的凭据。这与中所述内容一致,但奇怪的是,AD域之外的客户端可以指定不同的(有效)凭据集并使用该服务 我的问题是为什么会发生这种情况?出于好奇,如果在客户机和服务中使用相同凭据的限制可以取消,而不管环境如何,那将是一件好事 正如我所说的,该服务使用网络tcp绑定,传输安全性、windows凭据

我有一个使用tcp通道和传输安全的服务,我得到一个奇怪的行为,我无法解释。该服务使用具有特定AD用户身份的应用程序池托管在IIS上。如果同一AD域中的客户端希望连接到此服务,则它必须使用与托管该服务的用户相同的凭据。这与中所述内容一致,但奇怪的是,AD域之外的客户端可以指定不同的(有效)凭据集并使用该服务

我的问题是为什么会发生这种情况?出于好奇,如果在客户机和服务中使用相同凭据的限制可以取消,而不管环境如何,那将是一件好事

正如我所说的,该服务使用网络tcp绑定,传输安全性、windows凭据以及加密和签名作为保护级别,如下所示

NetTcpBindingnetTcpBinding = new NetTcpBinding(SecurityMode.Transport, true);
netTcpBinding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows;
netTcpBinding.Security.Transport.ProtectionLevel = ProtectionLevel.EncryptAndSign;