Построение системы аудита; Интерфейс MS Access на сервере SQL Server - PullRequest
4 голосов
/ 15 августа 2008

Таким образом, в основном я создаю приложение для своей компании, и оно должно быть создано с использованием MS Access, и оно должно быть построено на SQL Server.

Я составил большинство планов, но мне сложно найти способ справиться с системой аудита.

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

Таким образом, фактическая таблица аудита будет иметь 3 столбца (этот дизайн может измениться, но для этого вопроса это не имеет значения); кто (Пользователь Active Directory), когда (время добавления / удаления / редактирования), что (что было изменено)

Мой вопрос: как мне справиться с этим? В идеале я знаю, что должен использовать триггер, чтобы невозможно было обновить базу данных без регистрации аудита, однако я не знаю, как я мог бы таким образом получить пользователя Active Directory. Альтернативой было бы закодировать его непосредственно в источник доступа, чтобы всякий раз, когда что-то менялось, я выполнял инструкцию INSERT. Очевидно, что это ошибка, потому что если что-то случится с Access или база данных будет затронута чем-то другим, то она не будет регистрировать аудит.

Буду очень признателен за любые советы, примеры или статьи, которые могут мне помочь!

Ответы [ 11 ]

0 голосов
/ 15 августа 2008

Сколько будет пользователей приложения? Есть ли возможность использования встроенной проверки подлинности Windows для проверки подлинности SQL?

Обновлено : если вы можете дать каждому пользователю логин SQL (с интегрированными окнами), то вы можете забрать зарегистрированного пользователя с помощью функции SYSTEM_USER.

...