public void ClearImpersonation() { while (ImpersonationStack.Count() != 0) { Disimpesonate(); } }
public string GetRealUserName() { var result = ImpersonationStack.LastOrDefault(); if (result == null) { result = _CurrentUser.Identity.Name; } return(result); }
private void setCurrentUser(string userName) { SessionStateSection section = ConfigurationManager.GetSection("system.web/sessionState") as SessionStateSection; var userData = ImpersonationStack.ToStringAsCollection() ?? ""; var ticket = new FormsAuthenticationTicket(1, userName, DateTime.Now, DateTime.Now + section.Timeout, true, userData); string encTicket = FormsAuthentication.Encrypt(ticket); HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); _Context.Response.Cookies.Add(faCookie); }
public bool IsImpersonating() { return(ImpersonationStack.Any()); }
public void Impersonate(string userName) { ImpersonationStack.Push(_CurrentUser.Identity.Name); setCurrentUser(userName); }
public void Disimpesonate() { var userName = ImpersonationStack.Pop(); setCurrentUser(userName); }