我有一个 WCF 服务,它通过 ws2007FederationHttpBinding 绑定获取安全令牌。这工作正常,在我的服务中,我可以使用以下代码来获取有关在令牌中传递的用户的信息。
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 收到此令牌,我希望它转到自定义数据库查找用户名并添加一些额外的声明。
谁能指出我需要挂钩的正确方向才能实现这一目标?
谢谢