Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Запретить пользователям создавать таблицы

Автор вопроса: oharabОтветов: 2

Я пытаюсь защитить MDB MS Access 2003, используя безопасность рабочей группы. Я настроил большую часть этого (используя новый MDW и т. Д.), Но я не могу остановить людей, создающих новые таблицы в базе данных, если у них есть доступ для ее открытия. Я что-то упускаю?

Ни одна из учетных записей не имеет разрешенных разрешений, я все это делаю через группы. У пользователей есть только доступ Open \ Run к базе данных, нет доступа к ‹New Tables / Queries> и только доступ" Read Data "ко всем другим таблицам, включая таблицы MSys*.

Есть мысли или я пытаюсь сделать невозможное?

--Обновлять--

Я пробовал использовать мастер, как было предложено, но это по-прежнему оставляет меня с той же проблемой. Я создал пустую базу данных и запустил на ней мастер. Назначил 2 пользователей, Я и Пользователь, и удалил весь доступ к стандартным группам. Я добавил себя в группу администраторов, а пользователя - в группу только для чтения.

Неиспользование MDW запрещает доступ, как и ожидалось. Вход в систему как Me обеспечивает полный доступ (проектирование, добавление данных, удаление данных и т. Д.), Вход в систему как пользователь позволяет читать существующие таблицы данных, но не добавлять данные или проектировать их (как ожидалось), но он все равно позволяет создавать новую таблицу, к которой Пользователь будет иметь полный доступ для добавления, удаления и т. д.

  • Вы не закрепили его правильно. Вы должны запустить мастер безопасности, который создает новый файл рабочей группы, который имеет другую группу ADMIN, чем файлы рабочей группы по умолчанию (все они имеют одну и ту же группу ADMIN). Обычный подход - удалить все разрешения для встроенных групп и пользователей и использовать группы клиентов для предоставления доступа. David-W-Fenton 04.02.2010
  • Я добавил больше деталей к тому, что пробовал до сих пор, в том числе к Мастеру. Я начинаю думать, что это ограничение безопасности рабочей группы, которое мне придется исправить в Коде. Б. oharab 04.02.2010
  • Кстати: Я использовал вашу цитату в качестве подписи в течение долгого времени, потому что она заставляет меня каждый раз улыбаться: Цитата (Дэвид В. Фентон): Мы можем быть сбиты с толку точно так же, но путаница может быть как Nulls, и не сравнимо. oharab 04.02.2010
  • Ого, я не припомню такой цитаты. Раньше я был умным! David-W-Fenton 05.02.2010
  • Вы удалили разрешения для объекта базы данных верхнего уровня? Я забыл подробности здесь, но я знаю, что у меня есть приложение, которое защищено только постольку, поскольку оно предотвращает создание таблиц (все остальное широко открыто). Однако для меня это недоступно для проверки, как это делается. David-W-Fenton 05.02.2010

securitypermissionsms-access

Ответы

Ответ 1 · рейтинг 1 · oharab

Итак, через год после того, как я разместил этот вопрос, у меня есть еще одна попытка решить его, но его время удачно!

Я наткнулся на обозреватель разрешений Microsoft Accesss, и он показал, что Стандартные способы защиты базы данных, как вручную, так и с помощью мастера, по-прежнему дают группе Пользователи явные разрешения Создать для контейнера вкладок. Это же программное обеспечение также позволяет отозвать указанные разрешения, поэтому теперь у меня есть полностью защищенная база данных, где любой пользователь может получить доступ к mdb без использования специального MDB, но они могут получать доступ и редактировать только те данные, которые я хочу от них.

Ответ 2 · Philippe Grondier

Могут ли ваши пользователи использовать версию msAccess во время выполнения? У них не будет возможности создавать какие-либо новые объекты Access, такие как таблица, запрос, форма и т. Д.

А runtime-версия бесплатна, так что вы также сэкономите на лицензиях!

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы