zoukankan      html  css  js  c++  java
  • Claims Identity

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Security.Claims;
    using System.Security.Principal;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;

    namespace SecurityDemo
    {
    class Program
    {
    static void Main(string[] args)
    {
    Setup();
    CheckCompatibility();
    CheckNewClaimsUsage();
    Console.ReadLine();
    }

    private static void Setup()
    {
    IList<Claim> claimCollection = new List<Claim>
    {
    new Claim(ClaimTypes.Name, "Andras")
    , new Claim(ClaimTypes.Country, "Sweden")
    , new Claim(ClaimTypes.Gender, "M")
    , new Claim(ClaimTypes.Surname, "Nemes")
    , new Claim(ClaimTypes.Email, "hello@me.com")
    , new Claim(ClaimTypes.Role, "IT")
    };

    ClaimsIdentity claimsIdentity =new ClaimsIdentity(claimCollection, "My e-commerce website");

    Console.WriteLine(claimsIdentity.IsAuthenticated);

    ClaimsPrincipal principal = new ClaimsPrincipal(claimsIdentity);
    Thread.CurrentPrincipal = principal;

    }

    private static void CheckCompatibility()
    {
    IPrincipal currentPrincipal = Thread.CurrentPrincipal;
    Console.WriteLine(currentPrincipal.Identity.Name);
    }

    private static void CheckNewClaimsUsage()
    {
    ClaimsPrincipal currentClaimsPrincipal = ClaimsPrincipal.Current;//Thread.CurrentPrincipal as ClaimsPrincipal;
    Claim nameClaim = currentClaimsPrincipal.FindFirst(ClaimTypes.Name);
    Console.WriteLine(nameClaim.Value);
    foreach (ClaimsIdentity ci in currentClaimsPrincipal.Identities)
    {
    Console.WriteLine(ci.Name);
    }
    }
    }
    }

  • 相关阅读:
    leepcode题目解析4
    Python爬虫6-利用ProxyHandler设置代理服务器
    Python爬虫5-利用usergent伪装访问方式
    Python爬虫4-URLError与HTTPError
    Python爬虫3-parse编码与利用parse模拟post请求
    中间件
    跨域
    ORM中的锁和事务
    cookie和session
    之Ajax
  • 原文地址:https://www.cnblogs.com/shineqiujuan/p/4023903.html
Copyright © 2011-2022 走看看