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