コード例 #1
0
        private HttpCookie SetRegistrationCookie(RegisterUserResponse response)
        {
            var customPrincipalViewModel = new CustomPrincipalViewModel
            {
                Id                 = response.UserLogin.Id,
                FirstName          = response.FirstName,
                LastName           = response.LastName,
                AuthorizationRoles = response.AuthorizationRoles
            };

            var userData = new JavaScriptSerializer().Serialize(customPrincipalViewModel);

            var authTicket = new FormsAuthenticationTicket(1, response.CustomerId.ToString(), DateTime.Now, DateTime.Now.AddMinutes(60),
                                                           false, userData);

            var encryptedTicket = _formsAuthentication.Encrypt(authTicket);

            return(new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket)
            {
                HttpOnly = true, Expires = authTicket.Expiration
            });
        }
コード例 #2
0
        public HttpCookie Login(string username, string password)
        {
            User userData = _userDao.Read(username);

            if (userData == null || !AreCredentialsCorrect(username, password))
            {
                throw new LoginException("Invalid credentials");
            }

            string data = new JavaScriptSerializer().Serialize(userData);

            FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, username, DateTime.Now, DateTime.Now.AddYears(1), false, data);

            string     cookieData = _formsAuthentication.Encrypt(ticket);
            HttpCookie cookie     = new HttpCookie(_formsAuthentication.FormsCookieName(), cookieData)
            {
                HttpOnly = true,
                Expires  = ticket.Expiration,
                Name     = AuthenticationFilterAttribute.CookieName
            };

            return(cookie);
        }