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

ГУАП КАФЕДРА № 14

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

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

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

 

 

 

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

 

 

 

 

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

 

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

 

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

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

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

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

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

 

 

 

 

 

СТУДЕНТ ГР. №

4016

 

 

 

М.О.Жовтяк

 

 

 

 

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

 

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

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

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

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

2.Ход работы

Реализуется блок авторизации в конструкторе на шаблоне главной страницы. Здесь пользователя для авторизации должен указать логин и пароль, а также указать одну из ролей: учитель, ученик, родитель. Если пользователь неверно вводит пароль, то высвечивается сообщение о неправильном вводе. При успешном вводе появляется сообщение «Привет,

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

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

2

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

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

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

3

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

Здесь пользователь должен заполнить данные о себе: Имя, Фамилия,

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

проверка в БД на рисунке 6. Логика регистрации представлена в Приложении

(Raspisanie.aspx.cs).

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

4

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

3.Вывод

В ходе лабораторной работы были реализованы авторизация и регистрация для пользователей на сайте с использованием технологии

ADO.NET с помощью языка C# в Visual Studio.

5

ПРИЛОЖЕНИЕ

Файл 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;

6

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)

7

{

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 + "!";

}

8

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;

9

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

10

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