我们在 MVC 4 Web 应用程序中使用 WIF。我们还设置了使用 STS 的身份验证。
到目前为止,一切都很好。现在的问题是:当我们登录并返回网站时,我们可以看到我们的用户名。我们也可以注销。由于安全原因,我们使用引导令牌来保护对 out API 的调用。问题是登录后引导令牌为 NULL,而声明存在。当应用程序池被回收或在 Visual Studio 中重建网站时,令牌会出现并显示在网站上。
这就是我们现在获取令牌的方式:
var claimsPrincipal = (ClaimsPrincipal)System.Web.HttpContext.Current.User;
var bootstrapContext = (BootstrapContext)claimsPrincipal.Identities.First().BootstrapContext;
ViewBag.Token = bootstrapContext.Token;
有谁知道如何在不回收应用程序池或重建网站的情况下获取令牌?