Скачиваний:
9
Добавлен:
27.08.2024
Размер:
648.66 Кб
Скачать

ГУАП

КАФЕДРА № 14

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

Ст. преподаватель

Барклаевская Н.В.

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №6

Создание сайта с использованием технологии ASP.NET. Регистрация и авторизация

по курсу: Проектирование информационных систем

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

4016

М.О.Жовтяк

подпись, дата

инициалы, фамилия

Санкт-Петербург 2023

  1. Цель работы

Реализация регистрации и авторизации пользователя на сайте с использованием технологии ADO.NET с помощью языка C# в Visual Studio.

  1. Ход работы

Реализуется блок авторизации в конструкторе на шаблоне главной страницы. Здесь пользователя для авторизации должен указать логин и пароль, а также указать одну из ролей: учитель, ученик, родитель. Если пользователь неверно вводит пароль, то высвечивается сообщение о неправильном вводе. При успешном вводе появляется сообщение «Привет, …», а также пропадают все поля ввода. Также здесь же существует кнопка для перехода к окну регистрации. Авторизация в конструкторе представлена на рисунке 1, результат работы на рисунках 2-3. Логика работы представлена в Приложении (main.Page.master.cs).

Рисунок 1 – Авторизация в конструкторе

Рисунок 2 – Авторизация при неверном вводе

Рисунок 3 – Пример успешной авторизации

При нажатии на кнопку регистрации появляется окно для заполнения данных в другой веб-форме. Веб-форма в конструкторе представлена на рисунке 4.

Рисунок 4 – Регистрация в конструкторе

Здесь пользователь должен заполнить данные о себе: Имя, Фамилия, Отчество, Телефон, Логин и Пароль. Здесь же предусмотрена валидация на обязательное заполнение полей. Также он должен указать свою роль для работы. При нажатии на кнопку регистрации происходит SQL-запрос в БД на добавление. Результат заполнения формы на сайте представлен на рисунке 5, проверка в БД на рисунке 6. Логика регистрации представлена в Приложении (Raspisanie.aspx.cs).

Рисунок 5 – Регистрация на сайте

Рисунок 6 – Появление данных в БД Access

  1. Вывод

В ходе лабораторной работы были реализованы авторизация и регистрация для пользователей на сайте с использованием технологии ADO.NET с помощью языка C# в Visual Studio.

ПРИЛОЖЕНИЕ

Файл main.Page.master.cs

using System;

using System.Collections.Generic;

using System.Diagnostics;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data.OleDb;

using System.Data.SqlClient;

using System.Reflection.Emit;

namespace maxim

{

public partial class Site1 : System.Web.UI.MasterPage

{

protected void LinkButton1_Click(object sender, EventArgs e)

{

Response.Redirect("Homepage.aspx");

}

protected void Page_Load(object sender, EventArgs e)

{

long iduser = Convert.ToInt64(Session["IDP"]);

string myuser = Convert.ToString(Session["IdU"]);

if (iduser != 0)

{

TextBox1.Visible = false;

TextBox2.Visible = false;

Label1.Visible = true;

Label2.Visible = false;

Label3.Visible = false;

Label4.Visible = false;

Label5.Visible = false;

Button2.Visible = true;

Button1.Visible = false;

Button3.Visible = false;

RoleDropDownList.Visible = false;

Label1.Text = "Привет, " + myuser;

LinkButton3.Visible = true;

}

else

{

TextBox1.Visible = true;

TextBox2.Visible = true;

Label1.Visible = false;

Label2.Visible = false;

Label3.Visible = true;

Label4.Visible = true;

Label5.Visible = true;

Button2.Visible = false;

Button1.Visible = true;

Button3.Visible = true;

RoleDropDownList.Visible = true;

}

}

protected void LinkButton2_Click(object sender, EventArgs e)

{

Response.Redirect("Raspisanie.aspx");

}

protected void LinkButton3_Click(object sender, EventArgs e)

{

Response.Redirect("Tasks.aspx");

}

protected void Button1_Click(object sender, EventArgs e)

{

string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Study\7 semester\Information systems design\qqq.mdb";

var connect = new OleDbConnection(connectionString);

connect.Open();

string sparol, slogin;

long srole;

sparol = Convert.ToString(TextBox2.Text);

slogin = Convert.ToString(TextBox1.Text);

srole = Convert.ToInt64(RoleDropDownList.SelectedValue);

string sqlQ = string.Empty;

if (srole == 1)

{

sqlQ = "SELECT * FROM Teacher WHERE login_teacher='" + slogin + "' AND password_teacher='" + sparol + "'";

}

else if (srole == 2)

{

sqlQ = "SELECT * FROM Child WHERE login_child='" + slogin + "' AND password_child='" + sparol + "'";

}

else if (srole == 3)

{

sqlQ = "SELECT * FROM Parent WHERE login_parent='" + slogin + "' AND password_parent='" + sparol + "'";

}

else if (srole == 0)

{

Label2.Text = "Выберите роль";

Label2.Visible = true;

return;

}

var mycom = new OleDbCommand();

mycom.CommandText = sqlQ;

mycom.Connection = connect;

OleDbDataReader myread = mycom.ExecuteReader();

if (myread.Read() == true)

{

Session["IdU"] = slogin;

Session["IDP"] = Convert.ToString(myread.GetValue(0));

TextBox1.Visible = false;

TextBox2.Visible = false;

Label1.Visible = true;

Label2.Visible = false;

Label3.Visible = false;

Label4.Visible = false;

Label5.Visible = false;

Button2.Visible = true;

Button1.Visible = false;

Button3.Visible = false;

RoleDropDownList.Visible = false;

Label1.Text = "Привет, " + slogin + "!";

}

else

{

Label2.Visible = true;

Label2.Text = "Неверный логин или пароль";

}

TextBox1.Text = "";

TextBox2.Text = "";

connect.Close();

}

protected void Button2_Click(object sender, EventArgs e)

{

Session.Clear();

TextBox1.Visible = true;

TextBox2.Visible = true;

Label1.Visible = false;

Label2.Visible = false;

Label3.Visible = true;

Label4.Visible = true;

Label5.Visible = true;

Button1.Visible = true;

Button2.Visible = false;

Button3.Visible = true;

RoleDropDownList.Visible = true;

}

protected void Button3_Click(object sender, EventArgs e)

{

Response.Redirect("Registration.aspx");

}

}

}

Файл Raspisanie.aspx.cs

using System;

using System.Collections.Generic;

using System.Data.OleDb;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Xml.Linq;

namespace maxim

{

public partial class Registration : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition

{

Path = "~/Content/Js/jquery-3.2.1.min.js",

});

}

protected void Button11_Click(object sender, EventArgs e)

{

string connectionstring = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Study\7 semester\Information systems design\qqq.mdb";

var connect = new OleDbConnection(connectionstring);

connect.Open();

string rname, rsurname, rfathername, rlogin, rpassword;

long rtelephone;

rname = Convert.ToString(TextBox11.Text);

rsurname = Convert.ToString(TextBox12.Text);

rfathername = Convert.ToString(TextBox13.Text);

rtelephone = Convert.ToInt64(TextBox14.Text);

rlogin = Convert.ToString(TextBox15.Text);

rpassword = Convert.ToString(TextBox16.Text);

long srole;

srole = Convert.ToInt64(RegisrationRoleDropDownList.SelectedValue);

string sqlq = string.Empty;

if (srole == 1)

{

sqlq = "INSERT INTO Teacher(name_teacher,surname_teacher,father_teacher,telephone_teacher,login_teacher,password_teacher) VALUES( '" + rname + "', '" + rsurname + "', '" + rfathername + "', " + rtelephone + ", '" + rlogin + "', '" + rpassword + "')";

}

else if (srole == 2)

{

sqlq = "INSERT INTO Child(name_child,surname_child,father_child,telephone_child,login_child,password_child) VALUES( '" + rname + "', '" + rsurname + "', '" + rfathername + "', " + rtelephone + ", '" + rlogin + "', '" + rpassword + "')";

}

else if (srole == 3)

{

sqlq = "INSERT INTO Parent(name_parent,surname_parent,father_parent,telephone_parent,login_parent,password_parent) VALUES( '" + rname + "', '" + rsurname + "', '" + rfathername + "', " + rtelephone + ", '" + rlogin + "', '" + rpassword + "')";

}

Label17.Visible = true;

var mycom = new OleDbCommand();

mycom.CommandText = sqlq;

mycom.Connection = connect;

mycom.ExecuteNonQuery();

connect.Close();

}

}

}

Соседние файлы в предмете Проектирование информационных систем