public virtual void AddClaim(Claim claim)
        {
            if (claim == null)
            {
                throw new ArgumentNullException(nameof(claim));
            }

            ClaimTypes.Add(claim.Type);
            ClaimValues.Add(claim.Value);
        }
        public static bool CheckClaim(ClaimsPrincipal user, ClaimTypes ct, ClaimValues cv)
        {
            Claim claim = user.FindFirst(ClaimsHelper.SetTypePrefix((int)ct));

            if (claim == null)
            {
                return(false);
            }
            ClaimValues claimed = (ClaimValues)int.Parse(claim.Value);

            return((claimed & cv) != 0); // make sure one of OR-ed flags is present
        }
        public virtual void RemoveClaim(Claim claim)
        {
            if (claim == null)
            {
                throw new ArgumentNullException(nameof(claim));
            }

            var index = ClaimTypes.IndexOf(claim.Type);

            ClaimTypes.Remove(claim.Type);
            ClaimValues.RemoveAt(index);
        }
        public IEnumerable <Claim> GetClaimset()
        {
            string[] types  = ClaimTypes.Split(";", StringSplitOptions.RemoveEmptyEntries);
            string[] values = ClaimValues.Split(";", StringSplitOptions.RemoveEmptyEntries);
            if (types.Length != values.Length)
            {
                throw new IndexOutOfRangeException("Claim types and values length mismatch.");
            }

            List <Claim> claims = new List <Claim>();

            for (int i = 0; i < types.Length; i++)
            {
                claims.Add(new Claim(types[i], values[i]));
            }

            return(claims);
        }
 public RestrictAttribute(ClaimValues fullAccess)
 {
     this.fullAccess = fullAccess;
 }
 public RestrictAttribute(ClaimTypes ct, ClaimValues cv)
 {
     _claimType   = ct;
     _claimValues = cv;
 }
 public BypassAttribute(ClaimTypes ct, ClaimValues cv, bool any)
 {
     ClaimType   = ct;
     ClaimValues = cv;
     Any         = any;
 }
 public BypassAttribute(ClaimTypes ct, ClaimValues cv) : this(ct, cv, false)
 {
 }
Beispiel #9
0
 public static string Get(ClaimValues enumValue)
 {
     return(Enum.GetName(typeof(ClaimValues), enumValue));
 }