Моделирование механизмов защиты компьютерной системы, страница 5

Запись аутентифицирующего объекта в файл

Схема алгоритма

Код программы

private void button1_Click(object sender, EventArgs e)

        {

            bool flag = true;

            string login = textBox1.Text;

            string password = КШифрование.Шифрование(textBox2.Text);   

            КПользователь пользователь = new КПользователь(login, password);

            foreach (КПользователь Пользователь in Global.АутОбъект)

                if (Пользователь.Get_login() == login) flag = false;

            if (flag)

            {

                Global.ДобавитьПользователя(пользователь);

                textBox1.Text = "";

                textBox2.Text = "";

            }

            else MessageBox.Show("Пользователь с таким логином уже существует", "Ошибка!");

            К_запись_в_файл.File_Write(Global.АутОбъект);

            if (flag)

            {

                listBox1.Items.Add(пользователь.Get_login());

                string pass;

                pass = КШифрование.Шифрование(пользователь.Get_password());

                listBox2.Items.Add(pass);

                listBox3.Items.Add(0);

                ВыводПользователейСМинимальнымЧисломВходов();

            }

            else textBox2.Text = "";

        }

Удаление пользователя

Словесное описание

При удалении пользователя должен быть введен логин, существующий в компьютерной системе. Если будет введен логин администратора – будет вызвано сообщение об ошибке. Пользователь удаляется из аутентифицирующего объекта и файл перезаписывается.

Формализация входных и выходных данных

Входные данные:

·  АутОбъект – аутентифицирующий объект

·  login – имя пользователя, строка

Выходные данные:

·  АутОбъект – аутентифицирующий объект

Определение математических и логических зависимостей

login = содержимое текстового поля «Логин»

flag = false

Просмотр аутентифицирующего объекта на существование такого имени пользователя

Если пользователь с таким именем найден, тогда

                              Если login = god, тогда

                                            Сообщение о невозможности удаления администратора

                                            flag = true

                              Иначе

                                            Удаление пользователя из аутентифицирующего объекта

               Иначе

                              Сообщение об отсутствии пользователя с таким именем

Схема алгоритма

Код программы

private void button2_Click(object sender, EventArgs e)

        {

            string login = textBox3.Text;

            bool flag = false;

            int key = -1;

            foreach (КПользователь пользователь in Global.АутОбъект)

            {

                key++;

                if (пользователь.Get_login() == login)

                {

                    if (пользователь.Get_login() == "god")

                    {

                        MessageBox.Show("Администратора удалить нельзя!", "Ошибка!");

                        flag = true;

                        textBox3.Text = "";

                        break;

                    }

                    flag = true;

                    Global.УдалитьПользователя(key);

                    listBox1.Items.RemoveAt(key);

                    listBox2.Items.RemoveAt(key);

                    listBox3.Items.RemoveAt(key);

                    textBox3.Text = "";

                    break;

                }

            }

            if (!flag) MessageBox.Show("Пользователя с таким именем не существует", "Ошибка!");

            ВыводПользователейСМинимальнымЧисломВходов();

        }

Аудит

Формализация задачи

Определение имени пользователей, которые вошели в систему минимальное количество раз.

Описание элементов интерфейса формы администратора