
lab6
.pdfГУАП КАФЕДРА № 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