Есть ли способ аутентификации пользователя в базе данных ms-access? - PullRequest
3 голосов
/ 07 ноября 2008

У меня есть база данных MS-доступа. Но это на общем диске. И требуется, чтобы его могло использовать только определенное количество людей. Есть ли способ аутентификации пользователя?

Ответы [ 7 ]

6 голосов
/ 07 ноября 2008

Да, откройте базу данных и запустите Мастер-> Безопасность-> Мастер безопасности на уровне пользователя. Он проведет вас через процесс создания нового файла рабочей группы, создания пользователей и групп и защиты объектов Access.

4 голосов
/ 07 ноября 2008

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

2 голосов
/ 07 ноября 2008

Выполните оба действия. Установите права доступа к каталогу И создайте для него новый файл безопасности.

Каталог - это ваша передовая безопасность, и он ограничивает доступ на макроуровне

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

0 голосов
/ 06 января 2009

Я делаю все это в VBA. В подпункте «Коммутатор Form_Open» прочитайте имя пользователя в строковую переменную с помощью Windows API, затем проверьте, есть ли имя пользователя в вашем списке допустимых пользователей. Если все в порядке, выведите приветственное сообщение, если нет - выйдите из Access.

'проверка пользователя Дим пользователь As String Dim AuthorizedUser As Boolean пользователь = UCase (CurrentUser ())

AuthorizedUser = True
Select Case user
    Case "USER_A":
    Case "USER_B":
    Case "USER_C":     
    Case Else: AuthorizedUser = False
End Select

If AuthorizedUser = True Then
   MsgBox "Welcome authorized user " & user
Else
   MsgBox user & "is not Authorized. For access to this database contact User_A"
   DoCmd.Quit
End If
0 голосов
/ 07 ноября 2008

Два решения:

  1. Поместите файл Access в общий файловый ресурс с соответствующими разрешениями. Это не очень хорошо работает, если вам нужно предоставить доступ только для чтения, так как Access не может записать временный файл .ldb, который он создает при открытии файла Access (.mdb).

  2. Переместите «данные» файла Access в экземпляр Sql Server ..., где вы можете использовать разрешения на SQL-сервере, чтобы ограничить действия людей. Мы используем этот метод, чтобы предоставить доступ только для чтения всем, а затем конкретным людям с доступом для чтения и записи. Чтобы переместить данные в SQL, вы должны импортировать их в новую базу данных SQL, а затем связать таблицы в файл Access (переименование, чтобы отчеты / запросы / и т. Д. Продолжали работать).

0 голосов
/ 07 ноября 2008

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

0 голосов
/ 07 ноября 2008

Безопасность на уровне пользователя недоступна в Access 2007.

Начало работы с безопасностью Access 2007 предложения:

  • Доверяйте (включайте) отключенный контент в базе данных
  • Используйте пароль для зашифровать или расшифровать базу данных
  • Упакуйте, подпишите и разверните Office База данных Access 2007
...