首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >免责声明中的BootstrapContext

免责声明中的BootstrapContext
EN

Stack Overflow用户
提问于 2013-08-02 11:25:21
回答 1查看 2.3K关注 0票数 1

我们在out 4 web应用程序中使用WIF。我们还使用STS建立了身份验证。

到现在为止还好。现在的问题是:当我们登录并返回网站时,我们可以看到我们的用户名。我们也可以注销。由于安全性原因,我们使用引导令牌来保护对out API的调用。问题是登录后引导令牌是空的,而声明是存在的。在Visual中回收应用程序池或重建网站时,令牌将出现并显示在网站上。

我们现在就是这样得到令牌的:

代码语言:javascript
复制
var claimsPrincipal = (ClaimsPrincipal)System.Web.HttpContext.Current.User;
var bootstrapContext = (BootstrapContext)claimsPrincipal.Identities.First().BootstrapContext;

ViewBag.Token = bootstrapContext.Token;

有人知道如何在不回收应用程序池或重建网站的情况下获得令牌吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-05 11:22:26

有一种方法可以从SecurityToken属性中检索它,假设属性值不是null。

以下代码片段从安全令牌中提取SAML令牌并将其写入字符串生成器:

代码语言:javascript
复制
var builder = new StringBuilder();

using (var writer = XmlWriter.Create(builder)) {
    new SamlSecurityTokenHandler(new SamlSecurityTokenRequirement()).WriteToken(writer, bootstrapContext.SecurityToken);
}

var tokenXml = builder.ToString();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18015730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档