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

AddIdentities() public method

Adds a IEnumerable{ClaimsIdentity} to the internal list.
if 'identities' is null.
public AddIdentities ( IEnumerable identities ) : void
identities IEnumerable Enumeration of ClaimsIdentities to add.
return void
        public virtual void AddIdentities(IEnumerable<ClaimsIdentity> identities)
        {
            if (identities == null)
            {
                throw new ArgumentNullException(nameof(identities));
            }

            Contract.EndContractBlock();

            _identities.AddRange(identities);
        }

Same methods

ClaimsPrincipal::AddIdentities ( System identities ) : void

Usage Example

Example #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