Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF如何与Kerberos一起工作?_C#_.net_Wcf_Active Directory_Kerberos - Fatal编程技术网

C# WCF如何与Kerberos一起工作?

C# WCF如何与Kerberos一起工作?,c#,.net,wcf,active-directory,kerberos,C#,.net,Wcf,Active Directory,Kerberos,我正在服务和客户端之间使用WCFWindows服务自主机netTCP。这就是自定义绑定的外观 <binding name="netTcpWindowMessageSecurity" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="infinite" sendTimeout="01:00:00" transactionFlow="false" transferMode="Buffered" transactionP

我正在服务和客户端之间使用WCFWindows服务自主机netTCP。这就是自定义绑定的外观

<binding name="netTcpWindowMessageSecurity" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="infinite" sendTimeout="01:00:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" listenBacklog="1000" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="200" maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="infinite" enabled="false" />
          <security mode="Message">
            <message clientCredentialType="Windows" />
          </security>
        </binding>

按照Erik Funkenbusch的建议,我确保了通信的安全。这就是我想要改变的

<security mode="Transport">
            <transport protectionLevel="EncryptAndSign" clientCredentialType="Windows"></transport>
          </security>

首先,inactivityTimeout=infinite不做您认为它做的事情。第二,不,你的数据没有被加密,我不知道你为什么会这么认为。第三,Kerberos根本不涉及,正如您的安全日志所示,它使用的是NTLM Lan Manager身份验证。@ErikFunkenbusch从我读到的InactivityMout是连接在断开之前保持不活动状态的时间有多长?然而,我确实有一个保持活力的方法。从我所看到的情况来看,安全性在传输层打开,将使用的凭据是Windows。据我所知,这意味着数据将被加密?你能告诉我这是怎么解释的吗?@ErikFunkenbusch因为没有任何东西表明使用了NTLM,有一个包名,但它只说明了NTLM,没有任何信息?我不能告诉你一些不存在的东西。安全性与身份验证有关,而不是数据加密。我不能告诉你,这不是一个不合逻辑的假设,因为没有人会写这样的文档。相反,您有哪些文档表明这会加密您的数据?不,不活动时间比你想象的要复杂得多。。。对不起,你说得对,我怎么能忘记那个答案!即将删除ping功能,但从未获得时间。
<security mode="Transport">
            <transport protectionLevel="EncryptAndSign" clientCredentialType="Windows"></transport>
          </security>