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

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

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

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

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

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

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

Управление системой защиты Jet с помощью SQL
357
Управление учетными записями с помощью SQL
Для создания новой учетной записи пользователя предназначена SQL-инструкция CREATE USER. В ней задаются имя нового пользователя, его пароль и личный идентификатор (PID), разделенные пробелами. Например, следующая инструкция создает учетную запись пользователя с именем Phil, паролем "орепМЕ" и PID "99hel 1о88".
CREATE USER Phil орепМЕ 99hel1oBB
Процедура CreateNewUserSQL из модуля basSecuri tyExampl esSQL демонстрирует, как с помощью инструкции CREATE USER создается учетная запись пользователя с именем Anna, паролем "foo" и PID "123whatR" (см. листинг 8.42).
Листинг 8.42
Sub CreateNewUserSQLO
' Создает новую учетную запись пользователя с помощью SQL.
' Создается следующая запись:
Пользователь - Anna PID - 123whatR
Пароль - foo
Dim cnn As ADODB.Connection
Set cnn - CurrentProject.Connection cnn.Execute 'CREATE USER Anna foo 123whatR" cnn.Execute 'ADD USER Anna TO Users"
Set cnn - Nothing End Sub
Подобно DAO и ADOX, SQL при выполнении инструкции CREATE USER не добавляет нового пользователя во встроенную группу Users, следовательно, пользователь не может открывать базы данных своей рабочей группы. Поэтому процедура CreateNewUserSQL выполняет еще и инструкцию ADD USER, добавляющую пользователя в группу Users.
СОВЕТ
Как и метод DAO CreateUser, SQL-инструкция CREATE USER имеет важное преимущество в сравнении с методом Append коллекции ADOX Users: она позволяет задать для новой учетной записи личный идентификатор - PID. (Сказанное верно и в отношении инструкции CREATE GROUP.)
Новую учетную запись группы создает инструкция CREATE GROUP, использование которой демонстрирует процедура CreateNewGroupSQL (см. листинг 8.43).
Листинг 8.43
Sub CreateNewGroupSQLО
' Создает с помощью SQL новую ' учетнус запись группы.
' Создается следующая запись:
Group - Drones.
PID - crazy8s
Dim cnn As ADODB.Connection
Set cnn - CurrentProject.Connection
358
Глава 8 • Защита приложений
cnn.Execute "CREATE GROUP Drones crazy8s"
Set cnn - Nothing End Sub
Добавление пользователя в группу выполняется с применением инструкции ADD USER. В листинге 8.44 процедура добавляет пользователя Anna в группу Drones.
Листинг 8.44
Sub AddUserToGroupSQLO
' Добавляет пользователя Anna ' в группу Drones с помощью SQL.
Dim cnn As ADODB.Connection
Set cnn - CurrentProject.Connection cnn.Execute "ADD USER Anna TO Drones"
Set cnn - Nothing End Sub
Инструкция DROP USER используется для выполнения двух различных задач. Во-первых, с ее помощью можно удалить учетную запись пользователя из файла рабочей группы:
DROP USER Paul
Во-вторых, эта же инструкция может удалить пользователя из группы. Например, пользователь Paul удаляется из группы Admins так:
DROP USER Paul FROM Admins
Приведенная в листинге 8.45 процедура DeleteUserSQL демонстрирует использование инструкции DROP USER с целью удаления учетной записи пользователя, а процедура RemoveUserFromGroupSQL из листинга 8.46 - использование этой же инструкции для удаления пользователя из группы.
Листинг 8.45
Sub DeleteUserSQLO
' Удаляет учетную запись ' пользователя Anna с помощью SQL.
Dim cnn As ADDDB.Connection
Set cnn - CurrentProject.Connection cnn.Execute "DROP USER Anna"
Set cnn - Nothing End Sub
Листинг 8.46
Sub RemoveUserFromGroupSQL()
' Удаляет учетную запись пользователя Anna ' из группы Drones с помощью SQL.
Dim cnn As ADODB.Connection
Set cnn - CurrentProject.Connection cnn.Execute "DROP USER Anna RON Drones'
Set cnn - Nothing End Sub
Управление системой защиты Jet с помощью SQL
359
Учетные записи групп удаляет другая инструкция - DROP GROUP, применение которой демонстрирует процедура DeleteGroupSQL из листинга 8.47.
Листинг 8.47
Sub DeleteGroupSQLО
' Удаляет учетную запись группы Drones с помощью SQL.
Dim cnn As ADODB.Connection
Set cnn - CurrentProject.Connection cnn.Execute "DROP GROUP Drones"
cnn.Close End Sub
Изменить пароль пользователя в SQL вам поможет инструкция ALTER USER. Например, чтобы присвоить пользователю Peter вместо пароля bl ие пароль red, нужно выполнить такую инструкцию:
ALTER USER Peter PASSWORD red blue
Новый пароль указывается первым, а за ним через пробел - старый. Процедура ChangeUserPasswordSQL, приведенная в листинге 8.48, показывает, как выполнить такую инструкцию.
Листинг 8.48
Sub ChangeUserPasswordSQLO
1 Изменяет пароль пользователя Anna ' с "foo" на "bar" с помощью SQL.
Dim cnn As ADODB.Connection
Set cnn - CurrentProject.Connection cnn.Execute "ALTER USER Anna PASSWORD bar foo"
Set cnn - Nothing End Sub
Программирование разрешений с помощью SQL
За предоставление разрешений пользователям и группам отвечает SQL-инструкция GRANT. Вот ее синтаксис:
GRANT {привилегияJ[. привипегия2\_. ...]]} ON {TABLE таблица \ OBJECT обье"г| CDNTAINER контейнер }
TD учетнаяЗапись1[. учетнаяЗапись2[. ...]
Аналогичная инструкция REVOKE лишает пользователя или группу заданных разрешений:
Предыдущая << 1 .. 140 141 142 143 144 145 < 146 > 147 148 149 150 151 152 .. 357 >> Следующая