2

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

1 回答 1

1

我不是这方面的专家,但Maarten Balliauw 不久前创建了一个 Window Identity Foundation 插件,它展示了声明令牌——这对你来说可能是一个很好的起点。

他的插件有点过时了(它将不再适用于 Glimpse 1.0+),但它应该很容易根据自定义选项卡文档进行更新和打包。

我也很乐意帮助你。你可以在 Twitter 上联系我

于 2013-04-12T02:00:40.137 回答