我使用的是Windows Identity Foundation。在受W.I.F保护的其中一个站点中,有一个用户注册视图,匿名用户可以浏览到该视图。此时,我想在我的注册控制器中看到当前存在W.I.F令牌:
我打算这样做:
public bool HasWifToken(HttpContextBase httpContextBase)
{
var claimsIdentity = httpContextBase.User.Identity as IClaimsIdentity;
if (claimsIdentity == null)
{
return false;
}
return claimsIdentity.Claims.Count > 0;
}
但有没有更好的方法来查看您是否有实时令牌?非常感谢。
答案 0 :(得分:1)
最简单的方法是:
var hasWifToken = httpContextBase.User.Identity.IsAuthenticated;
如果您使用的是WIF,IsAuthenticated
会告诉您是否存在令牌(即用户已登录)。
答案 1 :(得分:1)
是的 - 您可以在IdentityMode.Claims.ClaimsIdentity中使用IsAuthenticated。
有趣的是,它的设置方式非常符合你的方法 - 基本上它会检查claim.Count> 0!