所以我在我的mvc3应用程序中安装了glimpse(http://getglimpse.com/)nuget包。哇整洁的工具。但有没有人想过如何在glimplse中检查adfs声明?我可以在服务器选项卡上看到“AUTH_USER”,但没有我从adfs发送的任何声明或角色。如果它不支持开箱即用,可能会写一个插件。
解决方案: 我写了一个看起来效果很好的插件。感谢您的帮助和优秀的产品Nik!
using System.Collections.Generic;
using System.Linq;
using Glimpse.AspNet.Extensions;
using Glimpse.Core.Extensibility;
using Microsoft.IdentityModel.Claims;
namespace ADFSClaimsPlugin
{
public class ADFSClaimsInspector : TabBase
{
public override object GetData(ITabContext context)
{
var res = new List<string[]> { new[] { "Subject", "Type", "Value", "Value Type", "Issuer", "Original Issuer" } };
var httpContext = context.GetHttpContext();
var iPrincipal = (IClaimsPrincipal)httpContext.User;
var identity = (IClaimsIdentity)iPrincipal.Identity;
res.AddRange(identity.Claims.Select(c => new[] { c.Subject==null?string.Empty:c.Subject.ToString(),c.ClaimType,
c.Value, c.ValueType, c.Issuer ,c.OriginalIssuer }));
return res;
}
public override string Name
{
get { return "Claim Data"; }
}
}
}
答案 0 :(得分:1)
我不是这方面的专家,但Maarten Balliauw创建了a Window Identity Foundation plugin一段时间,展示了声明令牌 - 这对你来说可能是一个很好的起点。
他的插件有点过时了(它不再适用于Glimpse 1.0+),但它应该很容易根据custom tab documentation进行更新和打包。
我也非常乐意帮助你。你可以contact me on Twitter。