//If you aren't using the new operators from Roslyn for null checks then
    //use this method instead
    public static string GetClaimValue(this IPrinciple user, string name)
    {
        var claimsIdentity = user.Identity as ClaimsIdentity;
        var claim          = claimsIdentity == null ? null : claimsIdentity?.FindFirst(name);

        return(claim == null ? null : claim.Value);
    }
예제 #2
0
 public bool TryGetSubjectIdForPrinciple(IPrinciple principle, out Guid subjectId)
 {
     try
     {
         if (SubjectsBySubClaim.TryGetValue(GetDomainCategory(principle.Provider, principle.Domain), out var subList))
         {
             return(subList.TryGetValue(principle.SId, out subjectId));
         }
     }
     catch
     {
         subjectId = Guid.Empty;
         return(false);
     }
     return(false);
 }
예제 #3
0
 public static bool CanEditItems(this IPrinciple user)
 {
     return(user.IsInAnyRole("Manager", "Admin"));
 }
예제 #4
0
 public static bool CanDeleteItems(this IPrinciple user)
 {
     return(user.IsInAnyRole("Admin"));
 }
 public static string NameIdentifier(this IPrinciple user)
 {
     return(user.GetClaimValue(ClaimTypes.NameIdentifier));
 }
 public static string GivenName(this IPrinciple user)
 {
     return(user.GetClaimValue(ClaimTypes.GivenName));
 }