Есть идеи по защите страницы? - PullRequest
0 голосов
/ 18 июля 2011

Эй, люди, у меня есть вопрос.

У кого-нибудь из вас есть идея, как использовать защиту страницы от прямого URL-адреса? http://yoururlhere/administration/edit.aspx. Вы можете редактировать некоторые сообщения из гостевой книги здесь. но это нужно защищать. Я уже сделал, но если вы введете его прямо в адресную строку, это даст вам доступ. Это плохо. Кстати, я изучаю ASP.NET :) это мой код.

 protected void Button1_Click(object sender, EventArgs e)
{

    try
    {
        string cnnString = ConfigurationManager.ConnectionStrings["Stefan"].ConnectionString;

        using (SqlConnection con = new SqlConnection(cnnString))
        using (SqlCommand cmd = new SqlCommand("select [Username],[Password] from Admin where [Username] = @Username and [Password] = @Password", con))
        {
            string Username = (textUsername.Text.Length > 0) ? textUsername.Text : null;
            string Password = (TextPassword.Text.Length > 0) ? TextPassword.Text : null;

            cmd.Parameters.Add("@Username", System.Data.SqlDbType.VarChar).Value = textUsername.Text;
            cmd.Parameters.Add("@Password", System.Data.SqlDbType.VarChar).Value = TextPassword.Text;

            con.Open();

            using (SqlDataReader dr = cmd.ExecuteReader())
            {
                if (dr.Read())
                    if (Page.IsValid)
                    {

Ответы [ 2 ]

0 голосов
/ 18 июля 2011

Да. Во-первых, вы должны использовать систему членства и ролей ASP.NET для управления доступом к страницам, доступ к которым запрещен неавторизованным пользователям.

Попробуйте начать с:

http://weblogs.asp.net/scottgu/archive/2006/05/07/ASP.NET-2.0-Membership-and-Roles-Tutorial-Series.aspx

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

0 голосов
/ 18 июля 2011

Посмотрите на аутентификацию на основе форм, которая будет содержать ответы на эту проблему. Если вы настроите новый проект MVC / Webform в VS2010, вы найдете предварительно настроенный пример.

...