Я согласен с тем, что опубликовали Тони и Филипп. Я просто хочу добавить немного:
Если вам действительно нужна безопасность, то сервер Jet / ACE не собирается выполнять какое-либо существенное определение слова «безопасность». Jet ULS легко взломать, и это довольно легко для любого, даже с базовыми навыками программирования. Таким образом, если вы ищете форму БЕЗОПАСНОСТЬ ДАННЫХ, Филипп прав, что вам следует выбрать другой механизм базы данных.
Но если вы только хотите контролировать ACCESS в своем приложении, у вас есть три варианта:
поддерживает пару таблиц в вашей базе данных ваших пользователей и разрешения для каждого из объектов.
внедрить систему безопасности уровня пользователя Jet.
использовать пользователей / группы AD вместо Jet ULS.
Ни один из этих вариантов не является бесшовным.
И все они означают, что ваш интерфейс должен быть запрограммирован для решения проблем.
Если вы ограничиваете доступ по соображениям безопасности, то имеет смысл использовать ядро базы данных, которое интегрируется с безопасностью Windows (т. Е. SQL Server).
Если вы делаете это просто для того, чтобы упростить выполнение программы и адаптировать приложение во время выполнения к потребностям конкретных пользователей, то вам не обязательно нужна безопасность хранилища данных, так как вам нужен способ сохранить отслеживать, кто использует базу данных и к каким группам они принадлежат, а затем к каким частям приложения они должны иметь доступ (и, во-вторых, к какому уровню доступа, чтение / запись, только чтение и т. д.).
Я использовал Jet ULS для этой последней цели в течение многих лет, но никогда не был полностью доволен этим, поскольку сделать его управляемым пользователем не так просто. Интеграция с AD была бы хорошим выбором, но это означает, что любой, кто администрирует ваше приложение, должен иметь разрешение на управление пользователями AD. Возможно, это не то, на что ваш дружелюбный соседский системный администратор согласен.
С другой стороны, если вам в конечном итоге понадобится как внутренняя защита, так и управление внешним доступом, вы не сможете превзойти серверную часть SQL Server, используя безопасность Windows, для универсальных покупок через AD.