public IActionResult Login(login model) { string pass = Crypto.password_encrypt(model.userhash); login_authentication resp = _master.user_authenticateAsync(model.username, pass).Result; ClaimsIdentity identity = null; if (resp.username != null) { CookieOptions options = new CookieOptions(); if (model.remember_me != true) { options.Expires = DateTime.Now.AddDays(1); } else { options.Expires = DateTime.Now.AddDays(365); } Response.Cookies.Append("UserId", Crypto.url_encrypt(resp.user_id.ToString()), options); Response.Cookies.Append("WarehouseId", Crypto.url_encrypt(resp.warehouse_id.ToString()), options); Response.Cookies.Append("CompanyId", Crypto.url_encrypt(resp.company_id.ToString()), options); Response.Cookies.Append("AccessLevelId", Crypto.url_encrypt(resp.access_level_id.ToString()), options); Response.Cookies.Append("DisplayName", resp.display_name.ToString(), options); //Response.Cookies.Append("Department", Crypto.password_encrypt(resp.department.ToString()), options); //Response.Cookies.Append("ImgPath", Crypto.password_encrypt(resp.img.ToString()), options); identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, model.username), new Claim(ClaimTypes.Role, resp.user_group_id.ToString()) }, CookieAuthenticationDefaults.AuthenticationScheme); var principal = new ClaimsPrincipal(identity); var login = HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal); return(RedirectToAction("Dashboard")); } else { return(View()); } }
public login_authentication user_authenticate(string username, string userhash) { login_authentication ret = new login_authentication(); DataTable dt = new DataTable(); try { SqlConnection oConn = new SqlConnection(_master); SqlTransaction oTrans; oConn.Open(); oTrans = oConn.BeginTransaction(); SqlCommand oCmd = new SqlCommand(); oCmd.Connection = oConn; oCmd.Transaction = oTrans; oCmd.CommandText = "login_authentication"; oCmd.CommandType = CommandType.StoredProcedure; oCmd.Parameters.Clear(); oCmd.Parameters.AddWithValue("@username", username); oCmd.Parameters.AddWithValue("@userhash", userhash); SqlDataReader sdr = oCmd.ExecuteReader(); while (sdr.Read()) { ret.user_id = Convert.ToInt32(sdr["user_id"].ToString()); ret.user_code = sdr["user_code"].ToString(); ret.username = sdr["username"].ToString(); ret.userhash = sdr["userhash"].ToString(); ret.first_name = sdr["first_name"].ToString(); ret.middle_name = sdr["middle_name"].ToString(); ret.last_name = sdr["last_name"].ToString(); ret.full_name = sdr["full_name"].ToString(); ret.display_name = sdr["display_name"].ToString(); ret.nick_name = sdr["nick_name"].ToString(); ret.email_address = sdr["email_address"].ToString(); ret.birthday = sdr["birthday"].ToString(); ret.birth_place = sdr["birth_place"].ToString(); ret.height = sdr["height"].ToString(); ret.weight = sdr["weight"].ToString(); ret.phone_home = sdr["phone_home"].ToString(); ret.phone_work = sdr["phone_work"].ToString(); ret.phone_mobile = sdr["phone_mobile"].ToString(); ret.phone_fax = sdr["phone_fax"].ToString(); ret.phone_other = sdr["phone_other"].ToString(); ret.address_street = sdr["address_street"].ToString(); ret.address_city = sdr["address_city"].ToString(); ret.address_state = sdr["address_state"].ToString(); ret.address_country = sdr["address_country"].ToString(); ret.address_zipcode = sdr["address_zipcode"].ToString(); ret.perm_street = sdr["perm_street"].ToString(); ret.perm_city = sdr["perm_city"].ToString(); ret.perm_state = sdr["perm_state"].ToString(); ret.perm_country = sdr["perm_country"].ToString(); ret.perm_zipcode = sdr["perm_zipcode"].ToString(); ret.image_path = sdr["image_path"].ToString(); ret.question1 = Convert.ToInt32(sdr["question1"].ToString()); ret.answer1 = sdr["answer1"].ToString(); ret.question2 = Convert.ToInt32(sdr["question2"].ToString()); ret.answer2 = sdr["answer2"].ToString(); ret.website = sdr["website"].ToString(); ret.facebook = sdr["facebook"].ToString(); ret.twitter = sdr["twitter"].ToString(); ret.instagram = sdr["instagram"].ToString(); ret.linkedin = sdr["linkedin"].ToString(); ret.skype = sdr["skype"].ToString(); ret.tumblr = sdr["tumblr"].ToString(); ret.salutation_id = Convert.ToInt32(sdr["salutation_id"].ToString()); ret.gender_id = Convert.ToInt32(sdr["gender_id"].ToString()); ret.civil_status_id = Convert.ToInt32(sdr["civil_status_id"].ToString()); ret.nationality_id = Convert.ToInt32(sdr["nationality_id"].ToString()); ret.religion_id = Convert.ToInt32(sdr["religion_id"].ToString()); ret.user_group_id = Convert.ToInt32(sdr["user_group_id"].ToString()); ret.access_level_id = Convert.ToInt32(sdr["access_level_id"].ToString()); ret.warehouse_id = Convert.ToInt32(sdr["warehouse_id"].ToString()); ret.company_id = Convert.ToInt32(sdr["company_id"].ToString()); ret.active = Convert.ToInt32(sdr["active"].ToString()); ret.created_by = Convert.ToInt32(sdr["created_by"].ToString()); ret.date_created = sdr["date_created"].ToString(); ret.approved = Convert.ToInt32(sdr["approved"].ToString()); ret.bp_status = sdr["bp_status"].ToString(); ret.enc_key = sdr["enc_key"].ToString(); } sdr.Close(); oConn.Close(); } catch (Exception e) { Console.WriteLine("Error: " + e.Message); error_log_in("0", "SP = login_users_view_sel | " + e.Message, Convert.ToInt32(ret.company_id), 0); } return(ret); }