void MvcApplication_AuthorizeRequest(object sender, EventArgs e) { var principal = WFFormsAuthentication.TryParsePrincipal(Context); if (principal != null && principal.UserData != null) { Context.User = principal; } }
public WFFormPrincipal(FormsAuthenticationTicket ticket, WFFormsAuthentication userData) { if (ticket == null) { throw new ArgumentNullException("ticket"); } if (userData == null) { throw new ArgumentNullException("userData"); } Identity = new FormsIdentity(ticket); UserData = userData; }
public static string SetAuthCookie(string username, WFFormsAuthentication userData, bool remember) { if (userData == null) { throw new ArgumentNullException("userData"); } var data = Newtonsoft.Json.JsonConvert.SerializeObject(userData); var expires = remember ? DateTime.Now.AddDays(30) : DateTime.Now.AddDays(1); var ticket = new FormsAuthenticationTicket(1, username, DateTime.Now, expires, true, data); var cookieValue = FormsAuthentication.Encrypt(ticket); var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, cookieValue) { HttpOnly = false, Secure = FormsAuthentication.RequireSSL, Domain = FormsAuthentication.CookieDomain, Path = FormsAuthentication.FormsCookiePath, }; cookie.Expires = expires; HttpContext context = HttpContext.Current; if (context == null) { throw new InvalidOperationException(); } context.Response.Cookies.Remove(cookie.Name); context.Response.Cookies.Add(cookie); return(cookieValue); //context.Response.Cookies.Add(new HttpCookie("test", DateTime.Now.ToString("yyyyMMdd HHmmss")) { Expires=DateTime.Now.AddDays(1)}); }