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

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

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

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

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

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

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

Листинг 8.27
Sub CreateNewGroupADDXO
' Создает новую учетную запись группы с помощью AD0X.
' Создается следующая запись:
Группа - Drones
PID - Автоматически генерируется AD0X
Dim cat As ADOX.Catalog
Set cat - New ADOX.Catalog
cat.ActiveConnection - CurrentProject.Connection
cat.Groups.Append "Drones"
Set cat - Nothing End Sub
Как и при создании учетной записи пользователя, ADOX, к сожалению, не позволит программисту задать PID новой учетной записи группы.
Удаление учетных записей пользователей и групп выполняется с помощью метода Delete, удаляющего объекты из коллекции Users и Groups. В листинге 8.28
Управление защитой с помощью ADOX
345
приведен пример удаления учетной записи пользователя, а в листинге 8.29 - пример удаления учетной записи группы.
Листинг 8.28
Sub DeleteUserADOXO
' Удаляет с помощью AD0X учетную
1 запись пользователя Anna.
Dim cat As ADOX.Catalog
Set cat - New ADOX.Catalog cat.ActiveConnection - CurrentProject.Connection
cat.Users.Delete 'Anna"
Set cat - Nothing End Sub
Листинг 8.29
Sub DeleteGroupADOXO
' Удаляет с помощью ADOX ' учетную запись группы Drones.
Dim cat As ADOX.Catalog
Set cat - New ADDX.Catalog cat.ActiveConnection - CurrentProject.Connection
cat.Groups.Delete "Drones"
Set cat - Nothing End Sub
Добавление пользователей в группы и их удаление с помощью ADOX
Как и в случае с DAO, вам предоставляется два способа добавления пользователя в группу: посредством вызова метода Append коллекции Groups объекта User и с помощью метода Append коллекции Users объекта Group. Процедура AddUserTo- GroupADOX в листинге 8.30 демонстрирует первый способ.
Листинг 8.30
Sub AddUserToGroupADOXO
' Добавляет пользователя Anna ' в группу Drones с помощью AD0X.
Dim cat As ADOX.Catalog Dim usr As ADDX.User
Set cat - New ADOX.Catalog cat.ActiveConnection - CurrentProject.Connection
Set usr - cat.UsersCAnna") usr.Groups.Append "Drones'
Set usr - Nothing Set cat - Nothing End Sub
346
Глава 8"Защита приложений
Процедура удаления пользователя из группы аналогична процедуре добавления в нее, только используемый при этом метод называется не Append, a Delete. Вы можете вызвать этот метод либо для коллекции Groups объекта User, либо для коллекции Users объекта Group.
Процедура RemoveUserFromGroupADOX в листинге 8.31 реализует первый из указанных способов.
Листинг 8.31
Sub RemoveUserFromGroupADOXО
' Удаляет пользователя Anna из ' группы Drones с помощью AD0X.
Dim cat As ADOX.Catalog Dim usr As ADOX.User
Set cat - New ADOX.Catalog
cat.ActiveConnection - CurrentProject.Connection
Set usr - cat.UsersCAnna') usr.Groups.Delete 'Drones*
Set usr - Nothing Set cat - Nothing End Sub
Как с помощью ADOX определить, входит ли пользователь в группу
И эту задачу благодаря симметрии коллекций Users и Groups можно решить двумя способами: проверить, содержится ли интересующая вас группа в коллекции Groups объекта User, или проверить, содержит ли коллекция Users объекта Group интересующего вас пользователя.
Приведенная в листинге 8.32 функция IsUserMemberADOX из модуля basSecu- rityExamplesADOX определяет путем обращения к коллекции Users объекта Group, входит ли указанный пользователь в заданную группу.
Листинг 8.32
Function IsUserMemberADOX(strGroup As String.
Dptional varUser As Variant) As Boolean
' Определяет с помощью ADOX. входит ли указанный ' пользователь в заданную группу.
Dim cat As ADOX.Catalog ' Отключаем сообщения об ошибках.
On Error Resume Next
Set cat - New ADOX.Catalog
cat.ActiveConnection - CurrentProject.Connection
If IsHissing(varUser) Then
varUser - CurrentUserO End If
IsUserMemberADOX - _
(cat.Groups(strGroup).Users(varUser).Name - varUser)
Управление защитой с помощью ADOX
347
Set cat - Nothing End Function
Чтобы сделать эту функцию более универсальной, мы включили в нее вызов функции CurrentUser - на тот случай, если имя пользователя не задано. (Функция CurrentUser возвращает имя текущего пользователя.)
Управление паролями пользователей с помощью ADOX
С помощью метода ChangePas sword можно изменить пароль пользователя, представленного объектом User. Этот метод подобен методу NewPassword из DAO. При его вызове нужно указать новый и старый пароли, однако если вы являетесь членом группы Admi ns и изменяете пароль другого пользователя, старый пароль будет проигнорирован. Таким образом, члены группы Admins могут изменять пароли других пользователей. Применение метода ChangePassword продемонстрировано на примере представленной в листинге 8.33 процедуры ChangeUserPasswordADOX из модуля basSecurityExamplesADOX.
Листинг 8.33
Sub ChangeUserPasswordADDXCstrUser As String. strDld As String. strNew As String)
' Изменяет пароль пользователя.
Dim cat As ADOX.Catalog Dim usr As ADOX.User
Set cat - New ADOX.Catalog cat.ActiveConnection - CurrentProject.Connection
Set usr - cat.Users("Anna")
' При использовании метода членами группы Admins ' старый пароль пользователя игнорируется, usr.ChangePassword strOld. strNew
Предыдущая << 1 .. 135 136 137 138 139 140 < 141 > 142 143 144 145 146 147 .. 357 >> Следующая