public static void SignOn(this HttpContextBase context, UserProfile profile, bool remeberMe = true) { FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(profile.PID, true, Settings.Default.UserTimeoutInMinutes); String loginToken = FormsAuthentication.Encrypt(ticket); context.Response.SetCookie(new HttpCookie(FormsAuthentication.FormsCookieName, loginToken)); context.ClearCache(); context.SetCacheValue("userProfile", profile); HttpCookie cookie = new HttpCookie("loginToken", loginToken); cookie.Expires = DateTime.Now.AddMinutes(Settings.Default.UserTimeoutInMinutes); context.Response.SetCookie(cookie); if (remeberMe) { cookie = new HttpCookie("userID", profile.PID); cookie.Expires = DateTime.Now.AddDays(14); } else { cookie = new HttpCookie("userID", ""); cookie.Expires = DateTime.Now.AddHours(24); } context.Response.SetCookie(cookie); //switch ((Naming.RoleID)profile.CurrentUserRole.RoleID) //{ // case Naming.RoleID.Administrator: // case Naming.RoleID.Assistant: // case Naming.RoleID.Coach: // case Naming.RoleID.FreeAgent: // cookie = new HttpCookie("userID", profile.PID); // if (remeberMe) // { // cookie.Expires = DateTime.Now.AddDays(14); // } // else // { // cookie.Expires = DateTime.Now.AddHours(24); // } // context.Response.SetCookie(cookie); // break; // case Naming.RoleID.Learner: // if (remeberMe) // { // cookie = new HttpCookie("userID", profile.PID); // cookie.Expires = DateTime.Now.AddDays(14); // } // else // { // cookie = new HttpCookie("userID", ""); // cookie.Expires = DateTime.Now.AddHours(24); // } // context.Response.SetCookie(cookie); // break; //} /// process sign-on user profile /// var roles = profile.UserRole.Select(r => r.UserRoleDefinition).ToArray(); var roleAuth = profile.UserRoleAuthorization.ToArray(); var auth = profile.UserRoleAuthorization.Select(r => r.UserRoleDefinition).ToArray(); }
public static void Logout(this HttpContextBase context) { context.Response.SetCookie(new HttpCookie(FormsAuthentication.FormsCookieName, "")); context.Response.SetCookie(new HttpCookie("loginToken", "")); context.ClearCache(); }