protected void FormsAuthentication_OnAuthenticate(Object sender, FormsAuthenticationEventArgs e) { if (FormsAuthentication.CookiesSupported == true) { var cookie = Request.Cookies[FormsAuthentication.FormsCookieName]; if (cookie != null) { try { //let us take out the username now string username = FormsAuthentication.Decrypt(cookie.Value).Name; //let us extract the roles from our own custom cookie List <string> roles; using (var helper = new DbHelper.CustomAccount()) { roles = helper.GetUserRoles(username); } //Let us set the Pricipal with our user specific details e.User = new System.Security.Principal.GenericPrincipal( new System.Security.Principal.GenericIdentity(username, "Forms"), roles.ToArray()); } catch (Exception) { //somehting went wrong } } } }
protected void btnCreate_Clicked(object sender, EventArgs e) { //if (txtPassword.Text != txtConfirmPassword.Text) //{ // lblPasswordError.Text = "Paasword and Confirm Password must match"; // lblPasswordError.Visible = true; // return; //} if (Page.IsValid) { var user = new Academic.DbEntities.User.Users() { FirstName = txtFirstName.Text , MiddleName = txtMiddleName.Text , LastName = txtLastName.Text , UserName = txtUserName.Text , Password = txtPassword.Text , Email = txtEmail.Text , SecurityAnswer = txtSecurityAnswer.Text , SecurityQuestion = ddlSecurityQuestion.Text }; using (var helper = new DbHelper.CustomAccount()) { var success = helper.Register(user); if (success == "success") { UserLogin(user); MultiView1.ActiveViewIndex = 3; } else { lblError.Visible = true; lblError.Text = success; } } } }
protected void Application_PostAuthenticateRequest(Object sender, EventArgs e) { HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName]; if (authCookie != null) { try { FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value); if (authTicket != null) { JavaScriptSerializer serializer = new JavaScriptSerializer(); CustomPrincipalSerializeModel serializeModel = serializer.Deserialize <CustomPrincipalSerializeModel>(authTicket.UserData); List <string> roles; using (var helper = new DbHelper.CustomAccount()) { roles = helper.GetUserRoles(authTicket.Name); } CustomPrincipal newUser = new CustomPrincipal(authTicket.Name, roles.ToArray()); if (serializeModel != null) { newUser.Id = serializeModel.Id; newUser.FirstName = serializeModel.FirstName; newUser.LastName = serializeModel.LastName; newUser.UserName = serializeModel.UserName; newUser.SchoolId = serializeModel.SchoolId; } HttpContext.Current.User = newUser; } } catch (Exception exe) { } } }
//protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e) //{ // var username = CreateUserWizard1.UserName; // var password = CreateUserWizard1.Password; // var email = CreateUserWizard1.Email; // var que = CreateUserWizard1.Question; // var ans = CreateUserWizard1.Answer; // var user = new Academic.DbEntities.User.Users() // { // UserName = CreateUserWizard1.UserName // , // Password = CreateUserWizard1.Password // , // Email = CreateUserWizard1.Email // , // SecurityQuestion = CreateUserWizard1.Question // , // SecurityAnswer = CreateUserWizard1.Answer // }; // using (var helper = new DbHelper.CustomAccount()) // { // var success = helper.Register(user); // if (success) // UserLogin(user); // } //} public void UserLogin(Users viewModel) { using (var acchelper = new DbHelper.CustomAccount()) { //if (Membership.ValidateUser(viewModel.UserName, viewModel.Password)) if (acchelper.CheckUser(viewModel.UserName, viewModel.Password)) { using (var acaHelper = new DbHelper.AcademicYear()) using (var helper = new DbHelper.User()) { var user = helper.Users.First(u => u.UserName == viewModel.UserName); CustomPrincipalSerializeModel serializeModel = new CustomPrincipalSerializeModel(); serializeModel.Id = user.Id; serializeModel.FirstName = user.FirstName; serializeModel.LastName = user.LastName; serializeModel.SchoolId = user.SchoolId ?? 0; var sess = acaHelper.GetCurrentSession(); if (sess != null) { serializeModel.AcademicYearId = sess.AcademicYearId; serializeModel.SessionId = sess.Id; } JavaScriptSerializer serializer = new JavaScriptSerializer(); string userData = serializer.Serialize(serializeModel); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket( 1, //viewModel.Email, viewModel.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData); string encTicket = FormsAuthentication.Encrypt(authTicket); HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); Response.Cookies.Add(faCookie); //FormsAuthentication.set //return RedirectToAction("Index", "Home"); string returnUrl = Request.QueryString["ReturnUrl"] as string; if (returnUrl != null) { //if (returnUrl.Contains("DashBoard%2fStudent") && roles.Contains("student")) //{ //} Response.Redirect(returnUrl); } else { //Response.Redirect("~/ViewsSite/Default.aspx"); Response.Redirect("~/ViewsSite/User/Dashboard/Dashboard.aspx"); } } } } }
public void UserLogin(Users viewModel) { using (var acchelper = new DbHelper.CustomAccount()) { //if (Membership.ValidateUser(viewModel.UserName, viewModel.Password)) var user = acchelper.GetUser(viewModel.UserName, viewModel.Password); if (user != null) { using (var acaHelper = new DbHelper.AcademicYear()) using (var helper = new DbHelper.User()) { //var user = foundUser;//helper.Users.First(u => u.UserName == viewModel.UserName); CustomPrincipalSerializeModel serializeModel = new CustomPrincipalSerializeModel(); serializeModel.Id = user.Id; serializeModel.UserName = user.UserName; serializeModel.FirstName = user.FirstName; serializeModel.LastName = user.LastName; serializeModel.SchoolId = user.SchoolId ?? 0; serializeModel.TestString = "kkkkk"; var sess = acaHelper.GetCurrentSession(); if (sess != null) { serializeModel.AcademicYearId = sess.AcademicYearId; serializeModel.SessionId = sess.Id; } JavaScriptSerializer serializer = new JavaScriptSerializer(); string userData = serializer.Serialize(serializeModel); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket( 1, //viewModel.Email, viewModel.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData); string encTicket = FormsAuthentication.Encrypt(authTicket); HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); Response.Cookies.Add(faCookie); //var reurl = FormsAuthentication.GetRedirectUrl(viewModel.UserName, true); //if (!string.IsNullOrEmpty(reurl)) //{ // UpdateLoginTime(user.Id); // //FormsAuthentication.RedirectFromLoginPage(user.UserName, true); // Response.Redirect(reurl); //} //else { //FormsAuthentication.set //return RedirectToAction("Index", "Home"); string returnUrl = Request.QueryString["ReturnUrl"] as string; if (returnUrl != null) { //if (returnUrl.Contains("DashBoard%2fStudent") && roles.Contains("student")) //{ //} UpdateLoginTime(user.Id); var qs = Request.QueryString.ToString().Replace("ReturnUrl=", ""); var queries = qs.Split(new char[] { '&' }); var i = 0; foreach (var q in queries) { if (i > 0) { returnUrl += "&" + q; } i++; } Response.Redirect(returnUrl); } else { //Response.Redirect("~/ViewsSite/Default.aspx"); UpdateLoginTime(user.Id); Response.Redirect("~/"); } } } } } }
public bool UpdateSchoolInfoInCookie(CustomPrincipal user, int schoolId) { try { using (var acchelper = new DbHelper.CustomAccount()) { //if (Membership.ValidateUser(viewModel.UserName, viewModel.Password)) //if (acchelper.CheckUser(viewModel.UserName, viewModel.Password)) //{ //Response.Cookies.Remove(FormsAuthentication.FormsCookieName); using (var acaHelper = new DbHelper.AcademicYear()) using (var helper = new DbHelper.User()) { //var user = helper.Users.First(u => u.UserName == userName); CustomPrincipalSerializeModel serializeModel = new CustomPrincipalSerializeModel(); serializeModel.Id = user.Id; serializeModel.FirstName = user.FirstName; serializeModel.LastName = user.LastName; serializeModel.SchoolId = schoolId; var sess = acaHelper.GetCurrentSession(); if (sess != null) { serializeModel.AcademicYearId = sess.AcademicYearId; serializeModel.SessionId = sess.Id; } //var acaId = acaHelper.GetCurrentAcademicYear(user.SchoolId); //if (acaId != null) //{ // serializeModel.AcademicYearId = acaId.Id; // var sess = acaHelper.GetCurrentSession(acaId.Id); // if (sess != null) // { // serializeModel.SessionId = sess.Id; // } // //else // //{ // // serializeModel.SessionId = 0; // //} //} JavaScriptSerializer serializer = new JavaScriptSerializer(); string userData = serializer.Serialize(serializeModel); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket( 1, //viewModel.Email, user.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData); string encTicket = FormsAuthentication.Encrypt(authTicket); HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); Response.Cookies.Set(faCookie);//.Add(faCookie); //Response.Cookies[FormsAuthentication.FormsCookieName]= faCookie; /* //FormsAuthentication.set * //return RedirectToAction("Index", "Home"); * string returnUrl = Request.QueryString["ReturnUrl"] as string; * if (returnUrl != null) * { * //if (returnUrl.Contains("DashBoard%2fStudent") && roles.Contains("student")) * //{ * * //} * Response.Redirect(returnUrl); * } * else * { * Response.Redirect("~/ViewsSite/Default.aspx"); * }*/ } //} } return(true); } catch (Exception exee) { return(false); } }