Я не могу войти в систему
Когда я отлаживаю свою программу я получаю ошибку в моей пользовательской функции определения не в состоянии отлаживать любезно помогите мне
Что я уже пробовал:
[HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public ActionResult Login(Login login) { if (ModelState.IsValid) { bool success = objIAccountData.Login(login.username, login.password, false); var UserID = GetUserID_By_UserName(login.username); var LoginType = GetRoleBy_UserID(Convert.ToString(UserID)); if (success == true) { if (string.IsNullOrEmpty(Convert.ToString(LoginType))) { ModelState.AddModelError("Error", "Rights to User are not Provide Contact to Admin"); return View(login); } else { Session["Name"] = login.username; Session["UserID"] = UserID; Session["LoginType"] = LoginType; if (Roles.IsUserInRole(login.username, "Admin")) { return RedirectToAction("AdminDashboard", "Dashboard"); } else { return RedirectToAction("UserDashboard", "Dashboard"); } } } else { ModelState.AddModelError("Error", "Please enter valid Username and Password"); return View(login); } } else { ModelState.AddModelError("Error", "Please enter Username and Password"); } return View(login); }
public static bool Login(string userName, string password, bool persistCookie = false) { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Mystring"].ToString(); var para = new DynamicParameters(); para.Add("@UserName", userName); var para1 = new DynamicParameters(); para1.Add("@password", password); var t = con.Query<int>("login_pro", null, null, true, 0, CommandType.StoredProcedure).ToList().SingleOrDefault(); if (t == 1) { return true; } else { return false; }
хранимая процедура
CREATE PROCEDURE login_pro -- Add the parameters for the stored procedure here @UserName varchar(50), @Password varchar(50) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from declare @status int if exists(select * from [Users] where UserName=@UserName and Password=@Password) set @status=1 else set @status=0 select @status END GO
Patrice T
Дайте точное сообщение об ошибке и где.
Richard Deeming
Не храните пароли в виде обычного текста!
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хеширование паролей - все правильно[^]