示例#1
0
        public async Task <ClaimResult> CreateClaimAsync(string key, string value, IdentityClaimTypes type)
        {
            switch (type)
            {
            case IdentityClaimTypes.UserClaim:
                return(await claimsManager.CreateUserClaimAsync(new T()
                {
                    Key = key,
                    Value = value,
                    Type = IdentityClaimTypes.UserClaim.ToString()
                }));

            case IdentityClaimTypes.RoleClaim:
                return(await claimsManager.CreateRoleClaimAsync(new T()
                {
                    Key = key,
                    Value = value,
                    Type = IdentityClaimTypes.RoleClaim.ToString()
                }));

            default:
                return(new ClaimResult()
                {
                    Succeed = false
                });
            }
        }
示例#2
0
 public async Task <TEntity> FindClaimAsync(string id, IdentityClaimTypes type, string key = null)
 {
     if (key != null)
     {
         return(Claims.Find(x => x.Key == key && x.Type == type.ToString()).FirstOrDefault());
     }
     return(Claims.Find(x => x.Id.Equals(id) && x.Type == type.ToString()).FirstOrDefault());
 }
示例#3
0
 public async Task <T> FindClaimAsync(IdentityClaimTypes type, string claimId = null, string claimKey = null)
 {
     return(await claimsManager.FindClaimAsync(claimId, type, claimKey));
 }