System.Security.Claims.ClaimsPrincipal.AddIdentities C# (CSharp) Method

AddIdentities() private method

private AddIdentities ( System identities ) : void
identities System
return void
        public virtual void AddIdentities(System.Collections.Generic.IEnumerable<System.Security.Claims.ClaimsIdentity> identities) { }
        [System.Security.SecurityCriticalAttribute]

Same methods

ClaimsPrincipal::AddIdentities ( IEnumerable identities ) : void

Usage Example

Ejemplo n.º 1
0
        /// <summary>
        /// Add all ClaimsIdenities from an additional ClaimPrincipal to the ClaimsPrincipal
        /// Merges a new claims principal, placing all new identities first, and eliminating
        /// any empty unauthenticated identities from context.User
        /// </summary>
        /// <param name="identity"></param>
        public static void AddUserPrincipal([NotNull] HttpContext context, [NotNull] ClaimsPrincipal principal)
        {
            var newPrincipal = new ClaimsPrincipal();
            // New principal identities go first
            newPrincipal.AddIdentities(principal.Identities);

            // Then add any existing non empty or authenticated identities
            var existingPrincipal = context.User;
            if (existingPrincipal != null)
            {
                newPrincipal.AddIdentities(existingPrincipal.Identities.Where(i => i.IsAuthenticated || i.Claims.Count() > 0));
            }
            context.User = newPrincipal;
        }
All Usage Examples Of System.Security.Claims.ClaimsPrincipal::AddIdentities