public static string DisplayName(this IPrincipal user)
        {
            var culture = CultureInfo.CurrentCulture;// (CultureInfo)HttpContext.Current.Session["Culture"];

            if (culture != null && culture.Name.StartsWith("zh"))
            {
                return(string.Format($"{user.GetClaimValue(ClaimTypes.Surname)}{user.GetClaimValue(ClaimTypes.GivenName)}").Trim());
            }
            return(string.Format("{0} {1}", user.GetClaimValue(ClaimTypes.GivenName), user.GetClaimValue(ClaimTypes.Surname)));
        }
        public static Guid Id(this IPrincipal user)
        {
            string id = user.GetClaimValue(ClaimTypes.NameIdentifier);
            Guid   result;

            if (Guid.TryParse(id, out result))
            {
                // It's a normal string Guid
                return(result);
            }
            else if (String.IsNullOrEmpty(id))
            {
                // This is the anonymous user
                return(Guid.Empty);
            }
            else
            {
                try
                {
                    // We might be a ADFS-style Guid is which a base64 string
                    // If this fails, we'll get a FormatException thrown anyway
                    return(new Guid(Convert.FromBase64String(id)));
                }
                catch (Exception ex)
                {
                    Log.Error(ex, "Could not parse id '{id}' from NameIdentifier claim", id);
                    return(Guid.Empty);
                }
            }
        }
        /// <summary>
        ///     Get the value of the object with the specific filter
        /// </summary>
        /// <param name="currentPrincipal">User Principal/Identity</param>
        /// <param name="userFilter">User Filter</param>
        /// <returns>returns an object value</returns>
        private static object GetUserData(IPrincipal currentPrincipal, CookieFilter filter)
        {
            switch (filter)
            {
            case CookieFilter.Id:
                return(currentPrincipal.GetClaimValue(ClaimTypes.Name));

            case CookieFilter.Token:
                return(currentPrincipal.GetClaimValue("IdToken"));

            case CookieFilter.StreamToken:
                return(currentPrincipal.GetClaimValue("StreamToken"));
            }

            return(null);
        }
Example #4
0
        /// <summary>
        /// Gets the user identificator
        /// </summary>
        /// <param name="user">IPrincipal user</param>
        /// <returns>The user identificator</returns>
        public static Int64?GetUserId(this IPrincipal user)
        {
            var claimValue = user.GetClaimValue(ClaimTypes.NameIdentifier);

            Int64 userId;

            if (Int64.TryParse(claimValue, out userId))
            {
                return(userId);
            }

            return(null);
        }
Example #5
0
 public static bool HasFlag(this IPrincipal principal, string type)
 {
     return(principal.GetClaimValue <bool>(type));
 }
Example #6
0
 public static string GetClaimValue(this IPrincipal principal, string type, string defaultValue = default)
 {
     return(principal.GetClaimValue <string>(type, defaultValue));
 }
 public static string GivenName(this IPrincipal user)
 {
     return(user.GetClaimValue(ClaimTypes.GivenName));
 }
        public static bool IsWindowsAuthenticated(this IPrincipal user)
        {
            string authenticationMethod = user.GetClaimValue(ClaimTypes.AuthenticationMethod);

            return(!String.IsNullOrEmpty(authenticationMethod) && authenticationMethod.Equals("Windows", StringComparison.OrdinalIgnoreCase));
        }
 public static string DisplayName(this IPrincipal user)
 {
     return(string.Format("{0} {1}", user.GetClaimValue(ClaimTypes.GivenName), user.GetClaimValue(ClaimTypes.Surname)));
 }
Example #10
0
 public static string Username(this IPrincipal user)
 {
     // We can tolerate the username being in either Upn or Name
     return(user.GetClaimValue(ClaimTypes.Name) ?? user.GetClaimValue(ClaimTypes.Upn));
 }
Example #11
0
 /// <summary>
 /// Gets the user name
 /// </summary>
 /// <param name="user">IPrincipal user</param>
 /// <returns>The user name</returns>
 public static String GetUserName(this IPrincipal user)
 {
     return(user.GetClaimValue(ClaimTypes.Name));
 }