Я использую C#, чтобы узнать ASP.NET, я попытался написать код аутентификации вНеверная попытка чтения при отсутствии данных присутствует в ASP.NET
SqlCommand command = new SqlCommand("Select [ID] from [Inspector] WHERE [ID] ='111' AND [Password] ='111';", conn);
SqlDataReader dr = command.ExecuteReader();
if (dr[0].ToString() == username)
{
Session["UserAuthentication"] = username;
Session.Timeout = 1;
Response.Redirect("About.aspx");
}
else{
// ...
}
ID
имеет тип numeric
в SQL Server.
Этот вопрос я всегда получаю исключение:
Invalid попытка чтения, когда нет данных нет.
В этой части: if (dr[0].ToString() == username)
.
Я попытался выполнить точный оператор SQL напрямую, и я могу получить результат.
** Не храните пароли в текстовом формате **. – SLaks
@SLaks Я знаю это, но это всего лишь учебный код. – Aan
Это круто, но может также узнать о хэшировании паролей http://www.codeproject.com/Articles/704865/Salted-Password-Hashing-Doing-it-Right. – harsimranb