Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Разработка корпоративных приложений в Access 2002 - Литвин П.

Литвин П. Разработка корпоративных приложений в Access 2002 — Спб.: Питер, 2002. — 848 c.
ISBN 5-314-00181-0
Скачать (прямая ссылка): razrabotkaprilojeniy2002.djvu
Предыдущая << 1 .. 133 134 135 136 137 138 < 139 > 140 141 142 143 144 145 .. 357 >> Следующая

adhSetDbCreate - False
strSystemOB - SysCmd(acSysCmdGetWorkgroupFlle)
Set dbSys - DBEngine.Workspaces(0).0penDatabase(strSystemOB)
Set cnt - dbSys.ContalnerslDatabases cnt.UserName - strAccount
' Предоставим или отменим разрешение ' на создание новых баз данных.
If fEnable Then cnt.Permissions - cnt.Permissions Or dbSecDBCreate Else
cnt.Permissions - cnt.Permissions And Not dbSecDBCreate
End If
adhSetDbCreate - True
adhSetDbCreateDone:
If Not dbSys Is Nothing Then dbSys.Close Dn Error GoTo 0 Exit Function
Управление защитой с помощью РАО
339
adhSetDbCreateErr:
Select Case Err Case adhcErrNoPermission adhSetDbCreate - False Resume adhSetDbCreateDone Case adhcErrNameNotlnCollection
strMsg - "The account & strAccount & _ doesn't exist."
Case Else
strMsg - "Error ' & Err.Number & ": " & Err.Description End Select
MsgBox strMsg. vbCritical + vbOKDnly. "Procedure " & _ adhcProcName Resume adhSetDbCreateDone
End Function
Для определения пути к файлу рабочей группы функция adhSetDbCreate вызывает функцию Access SysCmd, передавая ей в качестве значения константу acSysCmd- GetWorkgroupFile.
Смена владельца объекта
Чтобы с помощью DAO сменить владельца объекта Access или Jet, нужно присвоить свойству Owner этого объекта имя нового владельца - пользователя или группы. В процедуре ChangeOwnerOfTableDAO из модуля basSecurityExamplesDAO продемонстрировано, как сделать владельцем таблицы tblCustomer группу Drones (см. листинг 8.21).
Листинг 8.21
Sub ChangeOwnerOfTableDAOO
' Демонстрирует синтаксис DAD ' для смены владельца таблицы.
' Изменяется владелец:
' Объект - tblCustomer
' Новый владелец - Drones Dim db As DAD.Database Dim doc As DAO.Document
Set db - CurrentDbO
Set doc - db.Containers!Tables.Documents!tblCustomer
doc.Owner - "Drones'
Set doc - Nothing Set db - Nothing End Sub
Тем же способом процедура ChangeOwnerOfFormDAO, приведенная в листинге 8.22, назначает нового владельца объекта Access - формы frmCustomer.
Листинг 8.22
Sub ChangeOwnerOfFormDAOO
' Демонстрирует синтаксис DAD
1 для замены владельца формы.
' Изменяется владелец:
' Объект - frmCustomer
340
Глава 8 • Защита приложений
' Новый владелец - Drones
Dim db As DAO.Database Dim doc As DAD.Document
Set db - CurrentDbO Set doc - db.Containers!Forms.Documents!frmCustomer
doc.Owner - "Drones"
Set doc - Nothing Set db - Nothing End Sub
Написанные нами функции для управления защитой с помощью DAO
В предыдущие издания этой книги мы включали целый ряд универсальных функций для управления защитой Jet, которые читатели могли использовать в собственных приложениях. На страницах настоящего издания вы найдете только простейшие из этих функций, а остальные мы поместили в модуль basGenericDADSecurityUtilities базы данных CH08.MDB. Вот их полный перечень.
? adhAddGroupMember. Добавляет пользователя в группу.
? adhCheckPermission. Проверяет, имеет ли заданный документ или контейнер указанное разрешение.
? adhCreateGroup. Содает новую учетную запись группы
? adhCreateUser. Создает новую учетную запись пользователя.
? adhDeleteAccount. Удаляет из рабочей группы учетную запись пользователя или всей группы.
? adhGetAccount. Проверяет существование учетной записи и возвращает ее тип (пользователь или группа).
? adhGetObjectOwner. Возвращает имя учетной записи владельца объекта.
? adhlsGroupMember. Проверяет, входит ли пользователь в заданную группу.
? adhGetPermission. Возвращает полный набор разрешений объекта или контейнера.
? adhLi stUsersWithBl ankPwd. Выводит в текстовый файл список пользователей, у которых пустые пароли.
? adhRemoveGroupMember. Удаляет пользователя из группы.
? adhSetDbCreate. Предоставляет или отменяет разрешение для заданной учетной записи на создание новой базы данных.
? adhSetDbPwd. Устанавливает пароль базы данных.
? adhSetOwner. Изменяет владельца документа или контейнера.
? adhSetPermi ssi on. Добавляет или удаляет разрешение пользователя или группы на объект.
Управление защитой с помощью ADOX
341
? adhSetPermissionAdd. Добавляет заданное разрешение в набор разрешений документа или контейнера. Оболочка для функции adhSet- Permission.
? adhSetPermissionDocCreate. Предоставляет или отменяет разрешение для заданной учетной записи на создание документов указанного типа. Оболочка для функции adhSetPermission.
? adhSetPermissionReplace. Заменяет набр разрешений документа или контейнера. Оболочка для функции adhSetPermission.
? adhSetPermissionSubtract. Удаляет заданное разрешение документа или контейнера. Оболочка для функции adhSetPermission.
? adhSetPwd. Устанавливает пароль для учетной записи пользователя.
Управление защитой с помощью ADOX
Объектная модель ADOX представлена на рис. 8.10. Для управления учетными записями пользователей и групп в ней задействуются методы коллекций Users и Groups. Эти две коллекции являются потомками объекта Catal од, представляющего каталог источника данных. В отличие от объектной модели DAO в ADOX нет эквивалента коллекций Containers и Documents.
Предыдущая << 1 .. 133 134 135 136 137 138 < 139 > 140 141 142 143 144 145 .. 357 >> Следующая