Значение не входит в функцию
когда я вызываю эту функцию значения не приходят
Ошибка есть..
userName The name 'userName' does not exist in the current context
Что я уже пробовал:
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; } }
когда я вызываю эту функцию
bool success = objIAccountData.Login(login.username, login.password, false);
F-ES Sitecore
Я не понимаю, как этот код может генерировать такую ошибку, вы уверены, что это соответствующий код?
Karthik_Mahalingam
опубликуйте класс для входа в систему
Richard Deeming
Почему вы не передаете параметры в свою хранимую процедуру?
Предполагая, что вы используете Щеголеватый[^], это должно выглядеть примерно так:var para = new DynamicParameters();
para.Add("@UserName", userName);
para.Add("@password", password);
var t = con.Query<int>("login_pro", para, commandType: CommandType.StoredProcedure).SingleOrDefault();</int>
(Нет никакой необходимости звонить ToList
если вы тогда собираетесь позвонить SingleOrDefault
сразу же после.)
Richard Deeming
Кроме того, не храните пароли в виде обычного текста.
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хеширование паролей - все правильно[^]