private void CreateTicket(User user, bool rememberMe) { HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName]; if (authCookie != null) { HttpCookie _AuthCookie = new HttpCookie($"_{FormsAuthentication.FormsCookieName}", (User as ICurrentUserPrincipal).UserId.ToString()) { Expires = authCookie.Expires }; HttpContext.Response.Cookies.Add(_AuthCookie); } var currentUser = new CurrentUserPrincipal(); currentUser.UserId = user.UserId; currentUser.FullName = $"{user.FirstName} {user.LastName}"; currentUser.UserName = user.Email.ToString(); currentUser.CustomField = new UserExtraData { MobileNumber = user.MobileNumber }; var expDateTime = rememberMe ? DateTime.Now.AddHours(int.Parse(AppSettings.AuthTimeoutWithRemeberMeInHours)) : DateTime.Now.AddMinutes(int.Parse(AppSettings.AuthTimeoutInMiutes)); string userData = currentUser.SerializeToJson(); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, user.MobileNumber.ToString(), DateTime.Now, expDateTime, true, userData); string encTicket = FormsAuthentication.Encrypt(authTicket); HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket) { Expires = expDateTime, HttpOnly = true }; //FormsAuthentication.set HttpContext.Response.Cookies.Add(cookie); }
private void FillUserProfile() { _userProfile = new Dictionary <string, string>(); var userProfileCaim = CurrentUserPrincipal.FindFirst(delegate(Claim it) { return(it.Value == "userprofile"); }); if (userProfileCaim.IsNotNull()) { _userProfile = userProfileCaim.Properties; } }
protected void Application_PostAuthenticateRequest(Object sender, EventArgs e) { try { HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName]; if (authCookie != null) { FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value); JavaScriptSerializer serializer = new JavaScriptSerializer(); if (authTicket.UserData == "OAuth") return; var serializeModel = serializer.Deserialize<BaseUser>(authTicket.UserData); var user = new CurrentUserPrincipal(authTicket.Name); user.UserId = serializeModel.UserId; user.FullName = serializeModel.FullName; user.Email = serializeModel.Email; user.Picture = serializeModel.Picture; HttpContext.Current.User = user; } } catch (Exception ex) { ErrorSignal.FromCurrentContext().Raise(ex); FormsAuthentication.SignOut(); HttpCookie oldCookie = new HttpCookie(".ASPXAUTH"); oldCookie.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Add(oldCookie); HttpCookie ASPNET_SessionId = new HttpCookie("ASP.NET_SessionId"); ASPNET_SessionId.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Add(ASPNET_SessionId); var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext); Response.Redirect(urlHelper.Action(MVC.Home.ActionNames.Index, MVC.Home.Name)); } }
protected ActionResponse <string> SignIn(User user, bool rememberMe) { var menuRep = _userSrv.GetAvailableActions(user.UserId); if (menuRep == null) { return new ActionResponse <string> { IsSuccessful = false, Message = LocalMessage.ThereIsNoView } } ; HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName]; if (authCookie != null) { HttpCookie _AuthCookie = new HttpCookie($"_{FormsAuthentication.FormsCookieName}", (User as ICurrentUserPrincipal).UserId.ToString()) { Expires = authCookie.Expires }; HttpContext.Response.Cookies.Add(_AuthCookie); } var currentUser = new CurrentUserPrincipal(); currentUser.UserId = user.UserId; currentUser.FullName = $"{user.FirstName} {user.LastName}"; currentUser.UserName = user.Email.ToString(); currentUser.CustomField = new UserExtraData { MobileNumber = user.MobileNumber }; var expDateTime = rememberMe ? DateTime.Now.AddHours(int.Parse(AppSettings.AuthTimeoutWithRemeberMeInHours)) : DateTime.Now.AddMinutes(int.Parse(AppSettings.AuthTimeoutInMiutes)); string userData = currentUser.SerializeToJson(); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, user.MobileNumber.ToString(), DateTime.Now, expDateTime, true, userData); string encTicket = FormsAuthentication.Encrypt(authTicket); HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket) { Expires = expDateTime, HttpOnly = true }; //FormsAuthentication.set //System.Web.HttpContext.Current.Response.Cookies.Add(cookie); HttpContext.Response.Cookies.Add(cookie); //var currentUser = serializer.Deserialize<CurrentUserPrincipal>(authTicket.UserData); currentUser.SetIdentity(authTicket.Name); currentUser.UserActionList = menuRep.Items.ToList(); System.Web.HttpContext.Current.User = currentUser; if (menuRep.DefaultUserAction.RoleId != int.Parse(AppSettings.UserRoleId)) { return new ActionResponse <string> { IsSuccessful = true } } ; return(new ActionResponse <string> { IsSuccessful = true }); } } }