Esempio n. 1
0
        public void SetPrincipal(UserEntity user, string identityProvider)
        {
            IEnumerable<Claim> newClaims = CreateClaims(user.Email, user.Name, identityProvider);
            var userIdentity = new SocialIdentity(user.Id) { Memberships = user.Memberships };
            userIdentity.AddClaims(newClaims);

            // check if principal is already has claims and preserve them
            var claimsPrincipal = HttpContext.Current.User as ClaimsPrincipal;
            if (claimsPrincipal != null && claimsPrincipal.Identity.AuthenticationType == FederationAuthenticationType)
            {
                userIdentity.SocialClaims = new List<Claim>(claimsPrincipal.Claims);
            }

            var userPrincipal = new GenericPrincipal(userIdentity, user.Roles.ToArray());

            HttpContext.Current.User = userPrincipal;
        }
Esempio n. 2
0
        public void SetPrincipal(UserEntity user, string identityProvider)
        {
            IEnumerable <Claim> newClaims = CreateClaims(user.Email, user.Name, identityProvider);
            var userIdentity = new SocialIdentity(user.Id)
            {
                Memberships = user.Memberships
            };

            userIdentity.AddClaims(newClaims);

            // check if principal is already has claims and preserve them
            var claimsPrincipal = HttpContext.Current.User as ClaimsPrincipal;

            if (claimsPrincipal != null && claimsPrincipal.Identity.AuthenticationType == FederationAuthenticationType)
            {
                userIdentity.SocialClaims = new List <Claim>(claimsPrincipal.Claims);
            }

            var userPrincipal = new GenericPrincipal(userIdentity, user.Roles.ToArray());

            HttpContext.Current.User = userPrincipal;
        }