вход в ASP.NET при подключенном SQL-сервере - PullRequest
0 голосов
/ 20 декабря 2011

эй, я делаю проект для школы, который включает в себя логин в asp.net с базой данных SQL-сервера, у меня есть логин и пароль в базе данных, я слышал, что это было возможно только с помощью куки, я посмотрел на неделю, и она должна быть готова 22 декабря 2011 года. у меня есть запрос, и я хочу, чтобы результат был cookie, если я пытаюсь это делать каждый раз, когда получаю результат, -1, если я помещаю ответ в GridView, я получаю хороший результат. это код на Btn_Click, насколько у меня есть:

   protected void btnInloggen_Click(object sender, EventArgs e)
    {
        string sEMail = txtUserEMail.Text;
        string sPassword = txtPassword.Text;
        gvCookie.DataSource = SQL_codes.Inloggen(sEMail, sPassword);
        gvCookie.DataBind()//this was to test my query;

        HttpCookie cookUserName = new HttpCookie("Username");
        cookUserName.Value = Convert.ToInt16(gvCookie);//thought something liek this would do it but it doesn't so what i want is the result of the query here
        Response.Cookies.Add(cookUserName);

    if (Request.Cookies["Username"] !=null)
    {
        string sName = Request.Cookies["Username"].Value;
        Response.Write(sName);
    }
    }

и это мой способ использовать мой запрос:

    public static DataTable Inloggen(string sEMail, string sPassword)
    {
        string sql = string.Format("select OpdrachtGever.opdrid from OpdrachtGever where OpdrachtGever.eMail = '{0}' and OpdrachtGever.Password = '{1}'", sEMail, sPassword);
        SqlDataAdapter da = new SqlDataAdapter(sql, SQL_codes.GetConnection());

        DataTable dt = new DataTable("reserveringen");
        da.Fill(dt);
        return dt;
    } 

(это по-голландски, потому что мне очень жаль)

Теперь я, может быть, могу поместить результат в переменную, но не могу понять, как это работает

было бы замечательно, если бы вы, ребята (или девушки), могли бы помочь мне, потому что я полностью застрял

1 Ответ

1 голос
/ 20 декабря 2011

Cookies используются для постоянных данных. Без файлов cookie веб-сервер не сможет отличить одного клиента от другого.

Ручное управление куки может быть грязным, особенно для таких вещей, как логины. Вместо этого вы можете использовать переменные сеанса через ASP.NET, который абстрагируется от безопасного управления файлами cookie и позволяет вам обращаться с объектом как с объектом.

Session ["blnIsLoggedIn"] = MethodValidateLogin (strUserName, strPassword);

Затем проверьте загрузку страницы, если они вошли в систему

if (Session ["blnIsLoggedIn"]! = Null и (логическое) Session ["blnIsLoggedIn"] == true) Сделай это еще Сделай это

Для входа в систему нужно знать еще много важных вещей, таких как хеширование и соляция паролей, защита от SQL-инъекций (параметризованные входы) и прочее. Но, похоже, вы просто делаете проект для начинающих, поэтому я не буду их объяснять, а оставлю вас с условиями.

P.S. Я не очень много работаю с ASP.NET, и то, что я делаю, - это только интрасеть, поэтому могут быть лучшие способы отслеживания, чем переменные сеанса, если пользователь вошел в систему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...