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

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

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

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

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

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

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

REVOKE [привилегия^. привилегия2[. ...]]} DN {TABLE таблица | OBJECT объект| CONTAINER контейнер }
FROM учетнаяЗаписьЦ. учетнаяЗапись2[. ... ]
Аргумент привилегия может принимать значения, перечисленные в табл. 8.10. Аргумент таблица - это имя таблицы или запроса. Объект может быть именем любого нетабличного объекта; контейнер - имя любого объекта-контейнера. Допустимыми именами контейнеров являются Tables, Forms, Reports, Scripts.
360
Глава 8"Защита приложений
Таблица 8.10. Привилегии, которые могут задаваться в инструкциях GRANT и REVOKE
Привилегия
Что могут пользователь или группа
SELECT
DELETE
INSERT
UPDATE
DROP
SELECTSECURm
UPDATESECURITY
DBPASSWORD
UPDATEIDENTTTY
CREATE
SELECTSCHEMA
SCHEMA
UPDATEOWNER
Читать строки Удалять строки Добавлять строки Обновлять строки Удалить объект
Просматривать опции защиты объекта Изменять опции защиты объекта Изменять пароль базы данных Обновлять столбцы-идентификаторы Создавать новые объекты Читать макет объекта Изменять макет объекта Менять владельца объекта
ВНИМАНИЕ
Когда писалась эта книга, возможность изменять разрешения на доступ к объектам, не поддерживаемым Jet, отсутствовала. Скорее всего, это связано, как уже было сказано, с проблемой установки разрешений на объекты с помощью ADOX.
Приведенная в листинге 8.49 процедура SetUserReadCustomersSQL из модуля bas- SecurityExampl esSQL демонстрирует использование инструкций GRANT и REVOKE при работе с таблицей tblCustomer.
Листинг 8.49
Sub SetUserReadCustomersSQHstrUser As String, fRead As Boolean)
' Демонстрирует синтаксис SQL ' для установки заданного разрешения.
' Устанавливается разрешение:
Объект - tblCustomer Разрешение - SELECT
Dim strSQL As String
If fRead Then strSQL - "GRANT SELECT ON TABLE tblCustomer " & _
"TO " & strUser
Else
strSQL - "REVOKE SELECT ON TABLE tblCustomer " & _
"FROM " & strUser
End If
CurrentProject.Connecti on.Execute strSQL End Sub
Процедура SetUserReadNewTabl esSQL, приведенная в листинге 8.50, использует инструкции GRANT и REVOKE с ключевым словом CONTAINER для изменения разрешений на новые таблицы.
Выбор между DAO, ADOX и SQL
361
Листинг 8.50
Sub SetUserReadNewTablesSQLCstrUser As String. fRead As Boolean)
' Демонстрирует синтаксис SQL для установки
1 и удаления разрешения на чтение новых таблиц.
' Устанавливается разрешение:
Контейнер - Tables Разрешение - SELECT
Dim strSQL As String
If fRead Then strSQL - 'GRANT SELECT ON CONTAINER Tables " & _ "TO ' & strUser
Else
strSQL - 'REVOKE SELECT ON CONTAINER Tables ' & _ "FROM ' & strUser
End If
CurrentProject.Connection.Execute strSQL End Sub
Выбор между DAO, ADOX и SQL
Преимущества и недостатки трех упомянутых способов программирования защиты сравниваются в табл. 8.11.
Таблица 8.11. Сравнение возможностей DAO, АООХ и SQL по управлению защитой
Возможность DAO ADOX SQL Создание учетных записей поль Полная Программист Полная зователей и групп поддержка не может задать PID поддержка Проверка вхождения/существова Полная Полная Не поддерживается ния учетной записи поддержка оддержка Другие операции с учетными за Полная Полная Полная писями (добавление пользовате- поддержка поддержка поддержка леи в группы, удаление пользова телей и групп) Предоставление/отмена разреше- Полная Полная Полная нии на таблицы и запросы поддержка поддержка поддержка Предоставление/отмена разреше- Полная В АООХ 2.7 не работает В ADOX 2.7 не работает ний на объекты Access (формы, поддержка как положено как положено отчеты, страницы доступа к дан ным, макросы) Чтение разрешений Полная Работает с таблицами Не поддерживается поддержка и запросами Смена владельца объекта Полная Полная поддержка Не поддерживается поддержка Обратная совместимость Да Нет Нет Поддержка в будущем Дни DAO Без сомнения Вероятнее всего сочтены Простота Не всегда Проще DAO Проще DAO и просто АООХ Совместимость с SQL Server и Нет Работает с SQL Server Да другими базами данных 362
Глава 8"Защита приложений
Так какую же модель программирования защиты лучше всего использовать? На время написания книги DAO обеспечивала наиболее полную поддержку программирования защиты, но она сложнее ADOX. Как только Microsoft исправит ошибку, не позволяющую работать с разрешениями на объекты Access, возможности ADOX станут такими же, как и у DAO. Правда, по-прежнему невозможно будет задавать для новых учетных записей личные идентификаторы, но проблему можно обойти, воспользовавшись SQL-инструкциями CREATE USER и CREATE GROUP.
Защита баз данных Jet с помощью мастера защиты Access 2000
Надежная защита базы данных требует знаний и аккуратности. Малейшая неточность способна сделать базу данных открытой для несанкционированного доступа. Поэтому в состав Access входит специальный мастер (Security Wizard), автоматизирующий процесс защиты.
В Access 2000 мастер защиты был полностью изменен. В Access 2002 он автоматически выполняет те действия, которые раньше вам пришлось бы производить вручную. Процесс работы с новым мастером можно разбить на семь этапов.
Предыдущая << 1 .. 141 142 143 144 145 146 < 147 > 148 149 150 151 152 153 .. 357 >> Следующая