当前位置: 首页>>代码示例>>C#>>正文


C# IClaimsPrincipal.GetType方法代码示例

本文整理汇总了C#中IClaimsPrincipal.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# IClaimsPrincipal.GetType方法的具体用法?C# IClaimsPrincipal.GetType怎么用?C# IClaimsPrincipal.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IClaimsPrincipal的用法示例。


在下文中一共展示了IClaimsPrincipal.GetType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ShowConsole

        /// <summary>
        /// Dumps an IClaimsPrincipal to the console.
        /// </summary>
        /// <param name="principal">The principal.</param>
        public static void ShowConsole(IClaimsPrincipal principal)
        {
            Contract.Requires(principal != null);


            int count = 1;
            foreach (IClaimsIdentity identity in principal.Identities)
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("Identity #{0}\n", count++);
                Console.ResetColor();

                Console.WriteLine("Principal Type:  {0}", principal.GetType().FullName);
                Console.WriteLine("Identity Type:   {0}", identity.GetType().FullName);
                Console.WriteLine();
                Console.WriteLine("User Name:       {0}", identity.Name);
                Console.WriteLine("Name Claim Type: {0}", identity.NameClaimType);
                Console.WriteLine("Role Claim Type: {0}", identity.RoleClaimType);

                //if (identity.Delegate != null)
                //{
                //    Console.ForegroundColor = ConsoleColor.Red;
                //    Console.WriteLine("\nDelegated via: {0}", identity.Delegate.Name);
                //    Console.ResetColor();
                //}

                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("\nClaims:");
                Console.ResetColor();

                foreach (Claim claim in identity.Claims)
                {
                    Console.WriteLine(String.Format("\n{0}", claim.ClaimType));
                    Console.WriteLine(claim.Value);

                    if (claim.Properties.Count > 0)
                    {
                        Console.WriteLine("\nProperties:");
                        foreach (var prop in claim.Properties)
                        {
                            Console.WriteLine("  {0}\n    {1}", prop.Key, prop.Value);
                        }
                    }
                }

                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("\nIssuer:");
                Console.ResetColor();
                Console.WriteLine(identity.Claims[0].Issuer);
                
                //if (identity.Delegate != null)
                //{
                //    Console.ForegroundColor = ConsoleColor.Green;
                //    Console.WriteLine("\nDelegation Claims:");
                //    Console.ResetColor();

                //    foreach (Claim claim in identity.Delegate.Claims)
                //    {
                //        Console.WriteLine(String.Format("\n{0}", claim.ClaimType));
                //        Console.WriteLine(claim.Value);
                //    }
                //}
            }
        }
开发者ID:IdentityModel,项目名称:Thinktecture.IdentityModel.v1,代码行数:68,代码来源:ClaimsViewer.cs


注:本文中的IClaimsPrincipal.GetType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。