如何向WCF中的安全令牌添加其他声明
我有一个WCF服务,它通过ws2007FederationHttpBinding绑定获取安全令牌。这很好,在我的服务中,我可以使用以下代码获取令牌中传递的用户的信息如何向WCF中的安全令牌添加其他声明,wcf,.net-4.5,wif,Wcf,.net 4.5,Wif,我有一个WCF服务,它通过ws2007FederationHttpBinding绑定获取安全令牌。这很好,在我的服务中,我可以使用以下代码获取令牌中传递的用户的信息 var claimsPrincipal = ClaimsPrincipal.Current; var claimsIdentity = (ClaimsIdentity)claimsPrincipal.Identity; string s; foreach (var claim in claimsIdentity.Claims
var claimsPrincipal = ClaimsPrincipal.Current;
var claimsIdentity = (ClaimsIdentity)claimsPrincipal.Identity;
string s;
foreach (var claim in claimsIdentity.Claims)
{
s += "\r\n\t" + claim.Type;
s += "\r\n\t\t" + claim.Value;
}
}
我确信我在某个地方看到过一种方法,我可以在WCF管道中重写该方法,以便在读入令牌并将其保存到ClaimsPrincipal.Current之前向声明标识添加其他自定义声明。为了给一个例子,一旦WCF收到这个令牌,我希望它转到自定义数据库查找用户名,并添加一些额外的声明
有人能告诉我为了达到这个目标我需要做什么吗
谢谢从名为ClaimsAuthenticationManager的类中派生并在中注册。在令牌到达之后和调用服务之前,将调用Authenticate方法。您可以在此处更改/添加/删除声明。从名为ClaimsAuthenticationManager的类派生并在中注册。在令牌到达之后和调用服务之前,将调用Authenticate方法。您可以在此处更改/添加/删除索赔