/// <summary> /// Gets the primary identity claim to create the SCTAuthorizationPolicy /// </summary> /// <param name="authContext">The authorization context</param> /// <returns>The primary identity claim from the authorization context.</returns> SysClaim GetPrimaryIdentityClaim(SystemAuthorizationContext authContext) { if (authContext != null) { for (int i = 0; i < authContext.ClaimSets.Count; ++i) { System.IdentityModel.Claims.ClaimSet claimSet = authContext.ClaimSets[i]; foreach (System.IdentityModel.Claims.Claim claim in claimSet.FindClaims(null, System.IdentityModel.Claims.Rights.Identity)) { return(claim); } } } return(null); }
public static ClaimsIdentity CreateClaimsIdentityFromClaimSet(System.IdentityModel.Claims.ClaimSet claimset, string authenticationType) { if (claimset == null) { throw new ArgumentNullException("claimSet"); } string issuer = null; if (claimset.Issuer == null) { issuer = ClaimsIdentity.DefaultIssuer; } else { foreach (System.IdentityModel.Claims.Claim claim in claimset.Issuer.FindClaims(System.IdentityModel.Claims.ClaimTypes.Name, System.IdentityModel.Claims.Rights.Identity)) { if ((claim != null) && (claim.Resource is string)) { issuer = claim.Resource as string; break; } } } ClaimsIdentity claimsIdentity = new ClaimsIdentity(authenticationType); for (int i = 0; i < claimset.Count; ++i) { // // Only capture possesses property claims // if (String.Equals(claimset[i].Right, System.IdentityModel.Claims.Rights.PossessProperty, StringComparison.Ordinal)) { claimsIdentity.AddClaim(CreateClaimFromWcfClaim(claimset[i], issuer)); } } return(claimsIdentity); }
public static ClaimsIdentity CreateClaimsIdentityFromClaimSet(System.IdentityModel.Claims.ClaimSet claimset) { return(CreateClaimsIdentityFromClaimSet(claimset, null)); }