1. В данной типизированной матрице доступа присутствуют:
2. 1.Конечное множество объектов компьютерной системы O=[oy], y = 0,…,9.
3. 2.Конечное множество субъектов компьютерной системы S=[sx], x = 0,…,9.
4. 3.Конечное множество прав доступа R=[rg], g = 1,…,3.
5. 4.Матрица прав доступа, содержащая права доступа субъектов к объектам A=[axy], x=1,…,11, y=1,…,12, каждый элемент матрицы axy содержит права доступа субъекта sx к объекту oy.
6. 5.Множество типов, которые могут быть поставлены в соответствие объектам и субъектам системы T = [ tb ], b = 0,…,5.
7. 6.Конечное множество команд С=[ cz (аргументы)], z=1,…,l.
Command Delete_ Sybgect ()
if oy of type tb Є O and if tb Є T and if oy of type tb Є O(Q0)
for y = 0,…,9
Delete rg from axy
Delete sy
End
Множество объектов О не изменяется, а из множества субъектов S удаляется sx при переходе системы из состояния Q в состояние Q': O' = O/oy и O' = O;
права доступа субъекта с родительским типом к объектам системы с дочерним типом уничтожается
a'ij = ø, j =y, i = 0,…,9
остальные подмножества матрицы доступа остаются без изменения
a'ij= aij, если i ≠ y
при изменении i = 1,…,m и j = 1,…,m+n.
Типы объектов и субъектов остаются без изменения:
(oy : toy)' = (oy : toy), j = 0,…,9
(sx : tsx)' = (sx : tsx), i = 0,…,9
Процедура добавление пользователя или удаление пользователя из аутентифицирующего объекта (АутОбъект) не имеет отношение к теме данного курсового проекта, поэтому технология работы с данными описываться не будет. Следует оговориться, что аутентифицирующий объект – это вектор объектов, содержащих данные о пользователях. Для каждого зарегистрированного пользователя существует свой объект. При удалении или добавлении пользователя создается новый объект и записывается в вектор АутОбъект. Размер вектора изменяется в зависимости от количества объектов автоматически, что позволяет снять ограничение на количество пользователей в системе и использовать минимально возможный объем дискового пространства, под хранение базы данных.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TOKB_kursa4
{
static class Global
{
public static КПользователь[] АутОбъект;
public static void ДобавитьПользователя(КПользователь пользователь)
{
КПользователь[] Пользователь = new КПользователь[АутОбъект.Length];
int i = 0;
foreach (КПользователь user in АутОбъект)
{
Пользователь[i] = user;
i++;
}
АутОбъект = new КПользователь[АутОбъект.Length + 1];
i = 0;
foreach (КПользователь user in Пользователь)
{
АутОбъект[i] = user;
i++;
}
АутОбъект[АутОбъект.Length - 1] = пользователь;
К_запись_в_файл.File_Write(АутОбъект);
}
public static void УдалитьПользователя(int key)
{
КПользователь[] Пользователь = new КПользователь[АутОбъект.Length - 1];
int count = 0;
int index = 0;
foreach (КПользователь user in АутОбъект)
{
if (count != key)
{
Пользователь[index] = user;
index++;
}
count++;
}
АутОбъект = new КПользователь[Пользователь.Length];
count = -1;
foreach (КПользователь user in Пользователь)
{
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.