Задача 1: Обеспечение безопасности данных

Задание 1.Создать БД для обеспечения безопасности данных.

Запустите среду разработки «SQL Server Management Studio». Для этого в меню «Пуск» выберите пункт «Все приложения\Microsoft SQL Server \SQL Server Management Studio».

- После запуска среды разработки появится окно подключения к серверу Connect to Server».

- В этом окне необходимо нажать кнопку «Соединить» (Connect).

- После нажатия кнопки «Соединить» появится окно среды разработки «SQL Server Management Studio».

- В обозревателе объектов щелкните ПКМ на папке «Базы данных» и в появившемся меню выберите пункт «Создать базу данных».

- Появится окно настроек параметров файла данных новой БД «Создание базы данных». В левой части окна настроек имеется список «Выбор страницы». Этот список позволяет переключаться между группами настроек.

- Настроим основные настройки «Общие». Для выбора основных настроек нужно щелкнуть мышью по пункту «Общие» в списке «Выбор страницы».

- В верхней части окна расположено два параметра: «Имя БД» и «Владелец». Задайте параметр «Имя базы данных» равным «SecurityDB». Параметр «Владелец» нажмите кнопку с многоточием. В окне «Выбор владельца базы данных» нажмите кнопку «Обзор». В окне «Поиск объектов» выделите строку «NT AUTHORITY\система» и нажмите кнопку «ОК».

- Для принятия всех настроек и создание файла данных и журнала транзакций БД нажмите кнопку «ОК».

- Произойдет возврат в окно среды разработки «SQL Server Management Studio». На панели обозревателя объектов в папке «Базы данных» появится новая БД «SecurityDB».

Все таблицы БД находятся в подпапке «Таблицы» папки «SecurityDB» в окне обозревателя объектов.

Задание 2. Создайте таблицу «User_tbl» в базе данных «SecurityDB».

- Для этого щелкните ПКМ по папке «Таблицы» и в появившемся меню выберите пункт «Таблица…»

- Появится окно создания новой таблицы. В таблице определения полей задайте значения столбцов, как показано на рисунке.

- Так как, поле «ID» будет являться первичным полем связи в запросе, то следует сделать его числовым счетчиком. То есть данное поле должно автоматически заполняться числовыми значениями. Более того, оно должно быть ключевым.

- Сделайте поле «ID» счетчиком. Для этого выделите поле, просто щелкнув по нему мышкой в таблице определения полей. В таблице свойств поля отобразятся свойства поля «ID» Разверните группу свойств «Спецификация идентификатора». Свойство «(Идентификатор)» установите в значение «Да». Задайте свойства «Начальное значение идентификатора» и «Шаг приращения идентификатора» равными 1. Эти настройки показывают, что значение поля «ID» у первой записи в таблице будет равным 1, у второй - 2, у третьей 3 и т.д.

- Теперь сделайте поле «ID» ключевым полем. Выделите поле, а затем на панели инструментов нажмите кнопку с изображением ключа .

- На этом настройку таблицы «User_tbl»можно считать завершенной. Закройте окно создания новой таблицы, нажав кнопку закрытия в верхнем правом углу окна, над таблицей определения полей. Появиться окно с запросом о сохранении таблицы.

- В этом окне необходимо нажать «Да» Появиться «Выбор имени», предназначенное для определения имени новой таблицы. В этом окне задайте имя новой таблицы как «User_tbl» и нажмите кнопку «ОК»

- В окне «Обозревателя объектов» нажмите правой кнопкой мыши по ветви «Таблицы» и в меню выберите строку «Обновить», после этого созданная таблица появится в обозревателе объектов.

Задание 3. Заполните таблицу «User_tbl» начальными данными.

- Для заполнения таблицы «User_tbl» в обозревателе объектов щелкните правой кнопкой мыши по таблице «User_tbl» и в появившемся меню выберите пункт «Изменить первые 200 строк».

- В рабочей области «Microsoft SQL Server Management Studio» проявится окно заполнения таблиц. Заполните таблицу «User_tbl», как показано на рисунке. Даты последнего входа пользователей Admin и Me установите либо текущую дату компьютера, либо не менее месяца.

- Закройте окно заполнения таблицы «User_tbl» щелкнув по кнопке закрытия окна в верхнем правом углу, над таблицей.

Задание 4.Создайте проект в «Microsoft Visual Studio»

- Запустите «SQL Server Browser» (Обозреватель SQL серверов) сервис, обеспечивающий доступ сторонним приложениям к «Microsoft SQL Server». Для запуска данного сервиса необходимо запустить утилиту «SQL Server Configuration Manager» (Менеджер настроек SQL сервера), входящую в состав «Microsoft SQL Server». Для запуска данной утилиты в меню «Пуск» выберите пункт «Программы/Microsoft SQL Server 2012/Средства надстройки/ Диспетчер конфигурации SQL Server» как это представлено на рисунке.

Появится окно менеджера настроек SQL сервера имеющее следующий вид:

- В правой части окна менеджера настроек SQL сервера, в списке сервисов «Microsoft SQL Server» выделите сервис «Обозреватель SQL Server», затем на панели инструментов нажмите кнопку «Запустить службу» . После запуска вышеуказанного сервиса окно менеджера настроек SQL сервера можно закрыть.

ВНИМАНИЕ: Если кнопка запуска службы не активно, тогда следует в службах компьютера, найти службу «Обозреватель SQL Server» и настроить тип запуска «Вручную», после чего выполнить все выше перечисленные действия по запуску службы из «SQL Server Configuration Manager», предварительно закрыв и открыв данную утилиту.

- Запустите «Microsoft Visual Studio 2012», выбрав в меню «Пуск» пункт «Программы/Microsoft Visual Studio 2012/ Microsoft Visual Studio 2012».

- Появится окно со стартовой страницей «Microsoft Visual Studio 2012 (Начальная страница)».

- Для создания нового проекта на стартовой странице в области «Пуск» необходимо щелкнуть ЛКМ по ссылке «Создать проект…».

Появится окно выбора типа создаваемого проекта, и используемого языка программирования «Создать проект».

- В правой колонке типы проектов выберите «Visual C#\Windows», а в качестве шаблона проекта выберите «Приложение Windows Forms». В качестве имени проекта задайте «WSR_GIA_Ваша Фамилия», укажите путь сохранения проекта, в отдельную папку созданную для данного проекта и нажмите кнопку «ОК».

 

Задание 5.Подключите к проекту БД «SecurityDB».

- Для подключения БД к проекту в оконном меню среды разработки выберите пункт «Проект\Добавить новый источник данных…».

Появится окно мастера подключения к новому источнику данных Мастер настройки источника данных».

- Выберите вариант источника данных «База данных» и нажимаем кнопку «Далее». Появится окно выбора модели БД. Выберите «Набор данных» и нажмите на кнопку «Далее».

- На следующем шаге мастера появится окно выбора подключения к БД. В окне выбора подключения к БД, для создания нового подключения нажмите кнопку «Создать подключение…».

- Появится окно «Выбор источника данных», выделите строку «Microsoft SQL Server» и нажмите на кнопку «Продолжить».

- В окне «Добавить подключение» в выпадающем списке «Имя сервера» выберите имя сервера заданное при установке SQL сервера. В качестве логина и пароля для входа на сервер выберите «Использовать проверку подлинности Windows». В качестве БД для подключения из выпадающего списка «Выберите или введите имя БД» выберите БД «SecurityDB».

- Для проверки работоспособности создаваемого соединения нажмите кнопку «Проверить подключение». Появится сообщение «Проверка подключения выполнена», говорящее о том, что соединение работоспособно.

- Закройте окно сообщения и окно «Добавления подключения» нажав на кнопку «ОК». Просмотрите созданную строку подключения, щелкнув по знаку «+» в нижней части окна.

- Нажмите кнопку «Далее». Появится окно с запросом о сохранении строки подключения. Для сохранения строки подключения включите опцию «Да, сохранить подключение как:» и нажмите кнопку «Далее».

- Появится окно выбора объектов подключаемой БД. Выберите все объекты как это показано на рисунке и нажмите кнопку «Готово». Подключение завершено.

- В обозревателе решений появится ветвь подключения набора данных базы данных.

 

- Для просмотра источника данных отобразите панель «Источник данных», выполнив команду «Вид/Другие окна/Источники данных».

Задание 6. Создайте и настройте форму для входа в систему.

- Настройте свойства формы Form1. Выделите форму, щелкнув ЛКМ в пустом месте формы.

- На панели свойств задайте значения для свойств формы следующим образом:

Свойство Значение свойства
Name (Имя формы) Authorization_frm
StartPosition(Первоначальное положение формы) CenterScreen
Text (Текст надписи в заголовке формы) Для входа введите логин и пароль

- Поместите на форму два элемента Label, два элемента TextBox и один элемент Button с панели элементов (если панель не отображается, активируйте её в меню «Вид»-«Панель элементов»), в разделе «Стандартные элементы управления», как показано на рисунке.

- Настройте свойства элементов, значения которых представлены в таблице.

Элемент Свойство Значение свойства
Label1 Text (Текст надписи) Логин
Label2 Пароль
TextBox1 Name (Имя элемента для обращения к нему из кода программы)
TextBox2
Button1
Button1 Text (Текст надписи) Войти в приложение
Label1 Font (Шрифт) Размер 14 пт
Label2
TextBox1
TextBox2
Button1
TextBox2 PasswordChar (символы срытия пароля при вводе)

- Внешний вид формы представлен на рисунке.

Задание 7. Подключение таблицы базы данных с помощью создания класса «LINQ to SQL».

- Добавьте в решение класс «LINQ to SQL». Для этого откройте обозреватель решений, на проекте «WSR_GIA_Serkova» щелкните ПКМ, в контекстном меню выберите пункт «Добавить», а затем «Создать элемент».

- В открывшемся окне добавления элементов перейдите на вкладку «Данные» и выберите в списке элемент «Классы LINQ to SQL», задайте имя новому классу: Users.dbml как показано на рисунке ниже.

- Откройте созданный класс LINQ. Откройте обозреватель серверов, найдите в нем подключение нашей БД. Из папки «Таблицы» перетащите на рабочую область таблицу «User_tbl» расположите их как показано на рисунке ниже, Сохраните класс и закройте вкладку.

Задание 8. Создайте форму Администратора.

- Добавьте в решение форму. Для этого откройте обозреватель решений, на проекте «WSR_GIA_Serkova» щелкните ПКМ, в контекстном меню выберите пункт «Добавить», а затем «Форма Windows».

- В открывшемся окне добавления элементов задайте имя новой форме: «Admin_frm.cs» как показано на рисунке ниже.

- Настройте свойство «Text» формы «Admin_frm» в значение «Раздел администратора системы».

- Для корректного закрытия всего приложения, после закрытия окна «Admin_frm» создайте процедуру закрытия формы, выделив форму, переключитесь на список методов, в списке методов напротив метода «FormClosing» кликните два раза мышью в пустой строке соседнего столбца.

- Появится заготовка метод события «FormClosing» (Закрытие формы). Измените метод в соответствии с рисунком.

Задание 9. Создайте форму Пользователя.

- Добавьте в решение форму. Для этого откройте обозреватель решений, на проекте «WSR_GIA_Serkova» щелкните ПКМ, в контекстном меню выберите пункт «Добавить», а затем «Форма Windows».

- В открывшемся окне добавления элементов задайте имя новой форме: «Root_frm.cs».

- Настройте свойство «Text» формы «Root_frm» в значение «Раздел пользователя системы».

- Для корректного закрытия всего приложения, после закрытия окна «Root_frm» создайте процедуру закрытия формы, выделив форму, переключитесь на список методов, в списке методов напротив метода «FormClosing» кликните два раза мышью в пустой строке соседнего столбца.

- Появится заготовка метод события «FormClosing» (Закрытие формы). Измените метод в соответствии с рисунком.

Задание 10. При аутентификации связка «имя пользователя/пароль» должна совпадать с одной из записей в соответствующей таблице. В случае успешной аутентификации должен быть осуществлен вход в систему. Если аутентификация неуспешна должно появляться сообщение «Вы ввели неверный логин или пароль. Пожалуйста проверьте ещё раз введенные данные».

- Щелкните два раза ЛКМ по кнопке «Войти в приложение». Появится заготовка метод события «Click» (щелчок).

- В методе добавьте код, как показано на рисунке ниже.

- Обратите внимание на «UsersDataContext», так вызывается класс «LINQ to SQL», где «Users»- это имя созданного ранее файла. Также в данном коде имеются массив (Users), в который записываются построчно строки из заданной таблицы. Это позволяет легко производить операции по выборке данных.

- Запустите приложение, проведите тестирование по представленному плану.

Правильные данные

Логин Пароль (следующий переход)
Admin Форма Администратора
Root Форма Пользователя

Не правильные данные

Логин Пароль (следующий переход)
SSS Сообщение «Вы ввели неверный логин или пароль. Пожалуйста, проверьте ещё раз введенные данные»
Root

 

Задание 11. Если в течение трех раз подряд был неверно введен логин/пароль, то система должна заблокировать пользователя.

- Щелкните два раза ЛКМ по кнопке «Войти в приложение». Появится заготовка метод события «Click» (щелчок). Измените метод, как показано на рисунке ниже.

- Запустите приложение, проведите тестирование по представленному плану.

Данные для изменения записей в базе данных и для ввода в форму авторизации.

Логин Пароль (следующий переход)
Root Сообщение «Вы ввели неверный логин или пароль. Пожалуйста, проверьте ещё раз введенные данные»
Root
Root
Root Сообщение «Вы заблокированы. Обратитесь к администратору системы»

Задание 12. Учетная запись должна блокироваться если пользователь системы не заходил в неё в течении 1 месяца.

- Щелкните два раза ЛКМ по кнопке «Войти в приложение». Появится заготовка метод события Click (щелчок). Измените метод, как показано на рисунке ниже.

- Запустите приложение, проведите тестирование по представленному плану.

Данные для изменения записей в базе данных и для ввода в форму авторизации.

Логин Пароль Дата входа (следующий переход)
Me от текущей даты ПК отсчитайте назад равное или большее 30 дней (месяц назад) Сообщение «Вы заблокированы. Обратитесь к администратору системы»

Задание 13. Создайте и настройте форму смены пароля.

- Добавьте в решение форму. Для этого откройте обозреватель решений, на проекте «WSR_GIA_Serkova» щелкните ПКМ, в контекстном меню выберите пункт «Добавить», а затем «Форма Windows».

- В открывшемся окне добавления элементов задайте имя новой форме: «UpdatePass.cs».

- Настройте свойство «Text» формы «UpdatePass» в значение «Измените пароль».

- Поместите на форму 4 элемента «Label», 3 элемента «TextBox» и один элемент «Button» с панели элементов (если панель не отображается, активируйте её в меню «Вид»-«Панель элементов»), в разделе «Стандартные элементы управления», как показано на рисунке.

- Настройте свойства элементов, значения которых представлены в таблице.

Элемент Свойство Значение свойства
Label1 Text (Текст надписи) Измените пароль Вашей учетной записи, т. к. Вы не меняли пароль более 14 дней
Label2 Старый пароль
Label3 Новый пароль
Label4 Подтвердите пароль
Button1 Изменить пароль
Label1 ForeColor (Цвет текста)
Label1 Font (Шрифт) Размер 14 пт
Label2
Label3
Label4
TextBox1
TextBox2
Button1
Label1 MaximumSize (Для переноса строки)

- Внешний вид формы представлен на рисунке.

Задание 14. Для того, чтобы между формами была передача данных о текущем пользователе, создайте глобальную переменную номер редактируемого пользователя.

- Щелкните два раза ЛКМ по кнопке «Войти в приложение». Появится заготовка метод события «Click» (щелчок). Измените метод, как показано на рисунке ниже.

Задание 15. После успешной авторизации, в случае если пользователь не менял пароль в течение 14 дней должна выводиться форма для смены пароля. Если в форме смены пароля - текущий пароль введен неверно или новый пароль не совпадает с подтверждением должно выводиться соответствующее сообщение.

- Щелкните два раза ЛКМ по кнопке «Изменить пароль» на форме «UpdatePass». Появится заготовка метод события «Click» (щелчок). Внесите изменения в верхнюю часть перед методом «button1_Click», как показано на рисунке. Данный код позволит загрузить номер пользователя, который меняет пароль.

- Внесите изменения метод «button1_Click», как показано на рисунке.

- Для корректного закрытия всего приложения, после закрытия окна «UpdatePass» создайте процедуру закрытия формы, выделив форму, переключитесь на список методов, в списке методов напротив метода «FormClosing» кликните два раза мышью в пустой строке соседнего столбца.

- Появится заготовка метод события «FormClosing» (Закрытие формы). Измените метод в соответствии с рисунком.

 

- Откройте форму

- Щелкните два раза ЛКМ по кнопке «Войти в приложение». Появится заготовка метод события «Click» (щелчок). Измените метод, как показано на рисунке ниже.

- Запустите приложение, проведите тестирование по представленному плану.

 

Данные для изменения записей в базе данных и для ввода в форму авторизации

Логин Пароль Дата входа (следующий переход)
Ivan от текущей даты ПК отсчитайте назад равное или большее 14 дней Форма смены пароля

Правильные данные для формы Смены пароля

Пароль Новый пароль Подтверждение (следующий переход)
Сообщение «Смена пароля прошла успешно»

Не правильные данные