//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); }
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); }
public static bool CanEditItems(this IPrinciple user) { return(user.IsInAnyRole("Manager", "Admin")); }
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)); }