Я делаю проект в asp.net. он использует функцию входа, которую я реализовал с двумя текстовыми полями и кнопкой. ничего особенного.расположение данных сеанса в проекте asp.net
так что теперь я должен определить, какой вид пользователь вошел в систему, поскольку есть различные роли, как администратор, пользователь, гость ...
так, что мне нужно знать, что сессия [ «UserAuthentication»] является и что он делает ... Я думаю, что я могу добавить эти данные в дополнительную таблицу для регистрации всех сеансов ... это хороший подход?
вот мой метод аутентификации:
protected void Button1_Click(object sender, EventArgs e)
{
string username = tbUsername.Text;
string pwd = tbPassword.Text;
string s;
s = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(s);
con.Open();
string sqlUserName;
sqlUserName = "SELECT Username, UserPassword FROM Benutzer WHERE Username ='" + username + "' AND UserPassword ='" + pwd + "'";
SqlCommand cmd = new SqlCommand(sqlUserName, con);
string CurrentName;
CurrentName = (string)cmd.ExecuteScalar();
if (CurrentName != null)
{
Session["UserAuthentication"] = username;
Session.Timeout = 1;
Response.Redirect("Default.aspx");
}
else
{
lblStatus.ForeColor = System.Drawing.Color.Red;
lblStatus.Text = "Benuztername/Password ungültig!";
}
}
привет человек. WTF? 'sqlUserName =" SELECT Username, UserPassword FROM Benutzer WHERE Username = '"+ имя пользователя +" "AND UserPassword ='" + pwd + "'"; '->, чтобы вы хотели, чтобы кто-то удалил вашу базу данных прямо? – ub1k
в стороне от вашего вопроса, я предлагаю зашифровать пароли для хранения в DB –
- этот код подвержен sql-инъекциям? – LeonidasFett