そこで、mvc3 アプリに glimpse ( http://getglimpse.com/ ) nuget パッケージをインストールしました。うわーきちんとしたツール。しかし、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"; }
}
}
}