Цель этой обработки - проверить, а может ли пользователь Иванов получить информацию, содержащуюся в базе данных.
Для чего мы подключаемся СОМ соединением под именем Иванова и создаем запрос на получение проверяемых данных, причем данные могут быть любыми. При этом пароль пользователя знать не нужно подключение будет происходить от имени пользователя операционной системы.
Итак, переходим к описанию непосредственно работы с обработкой:
Для запуска обработки может применяться как текущая информационная база (которую мы хотим проверить), так и любая другая, в этом случае к проверяемой базе необходимо подключиться по СОМ подключению. Для выбора типа подключения есть список «Тип подключения»
При СОМ подключении возможна проверка только пользователей с разрешенным внешним соединением, при проверке текущей информационной базы роль внешнего соединения добавится пользователю автоматически, а после проверки вернется в исходное состояние.
После запуска и выбора типа подключения мы должны соединиться с базой (при СОМ соединении) или прочитать метаданные базы (при подключении к текущей базе). Это необходимо для заполнения списка пользователей, а также построения дерева метаданных.
Когда метаданные заполнены, мы имеем в левом поле список пользователей информационной базы с включенной аутентификацией, в левом, пока, пустое дерево проверки.
В дереве проверки необходимо выбрать объекты проверки с точностью до реквизитов и табличных частей объектов метаданных.
Объекты и реквизиты выбираются из выпадающего списка (подбор по строке пока не реализован).
После того как заполнены реквизиты проверки можно переходить непосредственно к тестированию, для чего достаточно просто нажать кнопку выполнить.
При этом произойдет следующее:
1. для каждого отмеченного пользователя подставится аутентификация ОС,
2. будет выполнено СОМ подключение под этим пользователем,
3. для каждого выбранного объекта метаданных будет создан запрос на получение указанных реквизитов,
4. в результате выполнения запроса будет получено количество прочитанных записей реквизитов или табличных частей.
5. анализируя количество полученных записей можно понять, имеет ли пользователь доступ ко всем реквизитам или к ограниченному списку, или вообще не имеет, в случае полного запрета выйдет сообщение об отсутствии прав
Конечно, это только поверхностная проверка и требует логического просмотра результата, но уже позволяет проверить доступность объектов и качество защиты информации.
Прощу оценить по достоинству проделанную работу.