Научная статья на тему 'Технология разграничения полномочий доступа  к  объектам форм приложений в среде MS ACCESS'

Технология разграничения полномочий доступа к объектам форм приложений в среде MS ACCESS Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1149
78
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сенченко П. В.

В статье представлена реализация программного алгоритма разграничения полномочий доступа к объектам форм приложений в среде MS ACCESS, внедрение которого в программный код приложения расширяет возможности настройки пользовательских систем без привлечения разработчиков.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Technology of differentiation of powers of access to objects of forms of appendices in MS ACCESS environment

In article realization of program algorithm of differentiation of powers of access to objects of forms of appendices in MS ACCESS environment which introduction in a program code of the appendix expands opportunities of adjustment of the user systems without attraction of developers is submitted.

Текст научной работы на тему «Технология разграничения полномочий доступа к объектам форм приложений в среде MS ACCESS»

ГТ1 ___

Технология разграничения полномочии доступа к объектам форм приложений в среде MS ACCESS

Сенченко П.В. fpvs@muma.tusur.ru )

Томский государственный университет систем управления и радиоэлектроники

(ТУСУР)

Постановка задачи

В существующих программных комплексах, в основу которых положено работа с базами данных, отдельное место отводится организации защиты данных от несанкционированного доступа и персонификации доступа к ним. В предложенной статье рассматривается вариант технологии разграничения полномочий доступа к объектам форм приложений, созданных в среде СУБД MS Access.

В большинстве, рассмотренных автором информационных систем, направленных на автоматизацию учрежденческой деятельности [1, 2, 3], механизм разграничения полномочий сводится к определению прав доступа непосредственно к объектам базы данных, а также к заданию статичного интерфейса системы для определенных заранее групп пользователей. И если права доступа могут быть изменены администратором системы средствами конкретной СУБД, то динамическая перенастройка пользовательского интерфейса в этих системах невозможна.

Так, с помощью стандартных средств доступа к данным в СУБД MS Access можно осуществить раздачу полномочий к объектам базы данных первого уровня: таблицам, запросам, формам, модулям, макросам, отчетам [4]. Однако при работе с различными приложениями часто возникает необходимость ограничения доступа пользователей непосредственно к объектам форм - полям ввода и элементам управления.

Выходом в создавшейся ситуации может являться изменение программного кода приложения разработчиком, что влечет за собой обращение заказчика программного продукта к исполнителю, а это естественно требует дополнительных временных и материальных затрат.

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

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

Для повышения уровня защиты информации в СУБД MS Access, в системе регистрируется новый пользователь, которому даются все права администратора БД [4], при этом у внутрисистемного пользователя Admin убираются все полномочия на использование объектов базы данных, в том числе на занесение новых пользователей, что позволяет обеспечить невозможность несанкционированного доступа в систему с использованием существующих в настоящее время программ взлома mde - файла.

Кроме того, в разрабатываемой системе, можно предусмотреть дополнительную функцию определения группы конкретного пользователя. Так при создании программного комплекса Контроль организационно-распорядительной деятельности (ПК КОРД, разработка НИИ Автоматики и электромеханики г. Томск) [5] в базу данных добавлена таблица Who I am, расположенная в файле user_can.mdb на компьютере пользователя и содержащая код группы пользователя для конкретного сеанса работы. Перечень кодов и соответствующих групп расположен в отдельной таблице, доступ к которой имеет только администратор БД. Были определены соответствующие коды групп (таблица 1).

Классификатор групп пользователей_Таблица 1

Код Место установки Имя рабочей группы Имя пользователя (по умолчанию)

1 Приемная Приемные Priem user

50 Рабочие места сотрудников Users User

51 Руководители подразделений Control contr user

52 Дирекция Дирекции Dir user

91 Руководитель Руководитель Ruk user

102 Канцелярия Канцелярия Kanc user

1002 Отдел информатизации Admins Admin user

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

Для определения перечня объектов форм создается мета-база, содержащая наименование формы, наименование объекта, атрибут доступа к объекту, а также атрибут отображения объекта на экране (рис. 1).

[s Level_acc : таблица

Имя поля Тип данных

c_group Числовой

c_user Текстовый

Nanrie_fornn Текстовый

Name_control Текстовый

Acccess Логический

Vissible Логический

Рис. 1 Структура мета-базы

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

Ниже приведен фрагмент программного кода на языке Visual Basic, в котором реализована функция разграничения уровня доступа к объектам форм. Public Function level_ac(frm As Form)

'frm- имя формы приложения поступающее на вход функции ' описание переменных Dim BASu As Database,TABu As Recordset, levs As String, Dim levs1 As String, i As Long, cou As Long Dim this_us As String, str_sql As String 'определение текущего пользователя системы

this_us = CurrentUser 'создание SQL-запроса на выборку записей об объектах базы данных str_sql = "select * from level_acc where c_user= + this_us + AND

Name_form = '" + frm.Name +.....

Set BASu = CurrentDb()

Set TABu = BASu.OpenRecordset(str_sql, DB_OPEN_DYNASET) If TABu.RecordCount <> 0 Then TABu.MoveLast cou = TABu.RecordCount TABu.MoveFirst For i = 1 To cou

levs = TABu![name_form] ' - имя формы из мета-базы levs1 = TABu![Name_control]' - имя объекта формы из мета-базы If frm.Name = TABu![name_form] Then ' проверка возможности доступа пользователя к объекту формы ' если доступ запрещен - запретить использование объекта If TABu![acccess] = True Then

Forms(levs).Controls(levs1).Enabled = True Else

Forms(levs).Controls(levs1).Enabled = False End If

' проверка возможности отображения пользователю объекта формы ' если доступ запрещен - не выводить объект на экран If TABu![Vissible] = True Then

Forms(levs).Controls(levs1).Visible = True Else

Forms(levs).Controls(levs1).Visible = False End If End If

If i < TABu.RecordCount Then

TABu.MoveNext End If Next i End If TABu.Close BASu.Close End Function

Следует обратить внимание на использование текстовых переменных для определения объектов базы данных. Избежать возникновения ошибки при вызове функции позволяет использование относительного вызова форм Forms(,имя формы') и объекта формы Controls(,объект формы')

Вызов функции level_ac производится при открытии форм приложения, для этого в процедуре обработки событий прописывается следующая строка Call level_ac(Me),

где Ме - ключевое слово, которое дает возможность ссылаться на конкретный экземпляр в классе при выполнении программы.

Применение данной функции позволяет использовать одни и те же формы для работы в различных АРМ системы.

На рисунке 2 изображена главная форма системы, где пользователю группы Канцелярия доступны все управляющие кнопки.

Канцелярия

Администратор

Входящие документы!

Исходящие документы

Входящие факсы

Внутренние документы

Прошлогодние документы

Обращения граждан

Телефонограммы

Документы на контроле

Отчеты

Архив документов

О программе...

Рис. 2 Главное окно АРМ Канцелярия ПК КОРД

На рисунке 3 в главной форме для пользователя группы Приемные запрещен доступ к справочникам системы и к регистрации исходящих документов, а также скрыты от пользователя функция просмотра документов, поставленных на контроль, а также функция ведения архива документов.

Приемная ^

: В х од я щи е д о ку м е нты i

Исходящие документы

Входящие факсы

Внутренние документы

Прошлогодние документы

Обращения граждан

Телефонограммы

Отчеты

О программе...

Рис.3 Главное окно АРМ Приемная ПК КОРД

Внедрение программных компонент расширения возможностей СУБД MS ACCESS для обеспечения технологии разграничения прав доступа пользователей к объектам экранных форм расширяет возможности настройки пользовательских приложений без привлечения разработчиков системы.

Список литературы

1. А.Павлов. Обзор систем документооборота. http://www.documenta.ru/ uslugi/model.html

2. Электронные офисные системы http://www.eos.ru/razl delo.html 20012002 г.

3. Золушка. Корпоративная технология автоматизированной регистрации, обработки и контроля исполнения документов, реализованная в средах DOS, Windows, Lotus Notes, с возможностью их интеграции в единую систему. Рекламные материалы. 1997 г.

4. Драпеко А. Г. К вопросу о защите данных в Microsoft Access. МИР ПК,

6, 99.

5. Сенченко П.В. Технология проектирования систем управления учрежденческой деятельностью и методы контроля исполнительской дисциплины. Информационные технологии в территориальном управлении, промышленности и, образовании. Сборник статей. Министерство образования РФ НИИ АЭМ при ТУСУР. Томск 2002. стр 70-77.

i Надоели баннеры? Вы всегда можете отключить рекламу.