Пример #1
0
        private static IEnumerable <Claim> GetClaims(this IPrincipal principal)
        {
            try
            {
                return(principal.GetClaimsIdentity().Claims);
            }
            catch (Exception exc)
            {
                var principalName = principal.GetName();
                var methodName    = MethodBase.GetCurrentMethod().Name;

                if (principal == null)
                {
                    Trace.TraceError($"{principalName}: {methodName}: principal is NULL");
                }
                else
                {
                    var claimsIdentity = principal.GetClaimsIdentity();
                    if (claimsIdentity == null)
                    {
                        Trace.TraceError($"{principalName}: {methodName}: claimsIdentity is NULL");
                    }
                }

                LogException(principalName, methodName, exc);
                return(null);
            }
        }
Пример #2
0
        public static UserRoles GetUserRole(this IPrincipal currentPricipal)
        {
            var identity = currentPricipal.GetClaimsIdentity();

            if (identity != null)
            {
                return(GetUserRole(identity));
            }

            return(UserRoles.General);
        }
Пример #3
0
        public static (string Id, UserRoles Role) GetUserIdAndRole(this IPrincipal currentPricipal)
        {
            var identity = currentPricipal.GetClaimsIdentity();

            if (identity != null)
            {
                return(identity.UniqueIdentifier(), identity.GetUserRole());
            }

            return(null, UserRoles.General);
        }
Пример #4
0
        public static string GetClaimValue(this IPrincipal principal, string type)
        {
            var identity = principal?.GetClaimsIdentity();

            if (identity == null)
            {
                return(null);
            }

            return(GetClaimValue(identity, type));
        }
        public static string GetClaim(this IPrincipal principal, string key)
        {
            if (principal?.Identity != null)
            {
                var claim = principal.GetClaimsIdentity().Claims
                            .FirstOrDefault(c => c.Type == key);

                if (claim != null)
                {
                    return(claim.Value);
                }
            }

            return(String.Empty);
        }
        public static Guid GetId(this IPrincipal principal)
        {
            if (principal?.Identity != null)
            {
                var idClaim = principal.GetClaimsIdentity().Claims
                              .FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier);

                if (idClaim != null)
                {
                    return(Guid.Parse(idClaim.Value));
                }
            }

            return(Guid.Empty);
        }
        public static UserViewModel GetUserData(this IPrincipal principal)
        {
            if (principal?.Identity != null)
            {
                var claims = principal.GetClaimsIdentity().Claims.ToDictionary(k => k.Type, v => v.Value);

                return(new UserViewModel
                {
                    Id = Guid.Parse(claims["UserId"]),
                    Email = claims[ClaimTypes.Name],
                    Role = claims[ClaimTypes.Role]
                });
            }

            return(null);
        }
Пример #8
0
        public static bool IsUserAuthType(this IPrincipal principal)
        {
            var identity = principal.GetClaimsIdentity();

            if (identity == null)
            {
                return(false);
            }

            if (identity.AuthenticationType != UserAuthenticationType)
            {
                return(false);
            }

            return(true);
        }
Пример #9
0
        public static string GetUserId(this IPrincipal principal)
        {
            var identity = principal.GetClaimsIdentity();

            if (identity == null)
            {
                return(null);
            }

            if (identity.AuthenticationType != UserAuthenticationType)
            {
                return(null);
            }

            return(identity.Name);
        }