我使用Kerberos身份验证启用了支持WCF REST的Web服务。 OperationContext包含我期望从ADFS接收的所有内容。但是,如何提取实际的Kerberos票证?我需要这张票来生成KerberosReceiverSecurityToken,以便我可以与ADFS通信 使用WireShark我能够在HTTP级别看到票证。我是否需要实现自定义HTTP处理程序来提取故障单?
感谢您的帮助!!
答案 0 :(得分:0)
foreach(var header in HttpContext.Current.Request.Headers)
{
string headerVal = HttpContext.Current.Request.Headers[header];
if(headerVal.StartsWith("Negotiate"))
{
string parts[] = headerValStr.Split(' ');
string kerberosStr = parts[1];
//if a header token begins with "YII" its kerberos
//otherwise its likely NTLM (or other)
if(kerberosStr.StartsWith("YII"))
{
retVal = Convert.FromBase64String(kerberosStr);
break;
}
}
}