我们在out 4 web应用程序中使用WIF。我们还使用STS建立了身份验证。
到现在为止还好。现在的问题是:当我们登录并返回网站时,我们可以看到我们的用户名。我们也可以注销。由于安全性原因,我们使用引导令牌来保护对out API的调用。问题是登录后引导令牌是空的,而声明是存在的。在Visual中回收应用程序池或重建网站时,令牌将出现并显示在网站上。
我们现在就是这样得到令牌的:
var claimsPrincipal = (ClaimsPrincipal)System.Web.HttpContext.Current.User;
var bootstrapContext = (BootstrapContext)claimsPrincipal.Identities.First().BootstrapContext;
ViewBag.Token = bootstrapContext.Token;有人知道如何在不回收应用程序池或重建网站的情况下获得令牌吗?
发布于 2013-08-05 11:22:26
有一种方法可以从SecurityToken属性中检索它,假设属性值不是null。
以下代码片段从安全令牌中提取SAML令牌并将其写入字符串生成器:
var builder = new StringBuilder();
using (var writer = XmlWriter.Create(builder)) {
new SamlSecurityTokenHandler(new SamlSecurityTokenRequirement()).WriteToken(writer, bootstrapContext.SecurityToken);
}
var tokenXml = builder.ToString();https://stackoverflow.com/questions/18015730
复制相似问题