예제 #1
0
        private void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e)
        {
            try
            {
                var authCookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
                if (authCookie == null)
                {
                    return;
                }

                var enTicked = authCookie.Value;
                if (String.IsNullOrEmpty(enTicked))
                {
                    return;
                }

                var ticked            = FormsAuthentication.Decrypt(enTicked);
                var securityUtilities = new SecurityUtilities();
                var identity          = securityUtilities.FormsAuthTickedIdentity(ticked);
                var principle         = new GenericPrincipal(identity, identity.Roles);
                HttpContext.Current.User = principle;
                Thread.CurrentPrincipal  = principle;
            }
            catch (Exception)
            {
            }
        }