在Glimpse中查看ADFS声明的内容?

时间:2013-04-12 01:08:17

标签: asp.net-mvc-3 glimpse

所以我在我的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"; }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

我不是这方面的专家,但Maarten Balliauw创建了a Window Identity Foundation plugin一段时间,展示了声明令牌 - 这对你来说可能是一个很好的起点。

他的插件有点过时了(它不再适用于Glimpse 1.0+),但它应该很容易根据custom tab documentation进行更新和打包。

我也非常乐意帮助你。你可以contact me on Twitter