是否可以使用WCF通过HTTP发送用户名令牌和kerberos令牌?
我们可以使用身份验证模式设置为“UserNameOverTransport”的自定义绑定,根据OASIS Web服务安全标准,它将在SOAP标头中包含用户名标记。
或者可以将身份验证模式设置为“KerberosOverTransport”,它将在SOAP标头中包含Kerberos令牌。
然而,我们尝试通信的服务需要验证使用kerberos令牌和放大器。用户名令牌。现有的身份验证模式似乎无法实现。
答案 0 :(得分:0)
令牌(它是一个Kerberos令牌)实际上嵌入了用户名。因此,如果您需要与需要两者的服务进行通信,那么您将需要使用KerberosOverTransport
。
然后,您需要将令牌传递给constructor of WindowsIdentity which asks for an IntPtr。
构建完成后,您可以通过name property访问用户名。您可以在此处找到几乎所需的代码(无记录位):
http://kseesharp.blogspot.com/2009/04/c-create-windowsidentity-from-userid.html