예제 #1
0
 public static HttpCookie RecreateAuthenticationCookie(this FormsAuthenticationTicket existing, CustomPrincipalInfo newInfo, DateTime current)
 {
     var info = existing.GetCustomPrincipalInfo();
     info.Update(newInfo);
     var timeout = existing.Expiration - existing.IssueDate;
     return CreateAuthenticationCookie(info, current, timeout.Minutes, existing.IsPersistent);
 }
예제 #2
0
 public void UpdateUserCookiesInfo(CustomPrincipalInfo info)
 {
     // TODO: Move the dependency to an external service or to the consumer
     var cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
     var ticket = cookie.GetFormsAuthenticationTicket();
     var updated = ticket.RecreateAuthenticationCookie(info, DateTime.Now);
     HttpContext.Current.Response.Cookies.Add(updated);
 }
예제 #3
0
 public static void Update(this CustomPrincipalInfo current, CustomPrincipalInfo newInfo)
 {
     current.UserId = newInfo.UserId;
     current.Email = newInfo.Email;
 }
 protected virtual void ProcessAuthCookiesPayload(HttpApplication application, CustomPrincipalInfo principalInfo)
 {
     application.Context.User = (CustomPrincipal)principalInfo;
 }