ВУЗ:
Составители:
Рубрика:
- 47 -
GRANT SELECT
ON EMPS
TO PUBLIC; --- PUBLIC значит ‘ДЛЯ ВСЕХ’
Еще одна возможность SQL - он позволяет создавать виды, возвра-
щающие разные результаты разным пользователям ! Создадим вид таблицы
EMP, возвращающий данные только о тех пользователях, номера отдела ко-
торых совпадают с номером отдела персоны, использующей данный вид:
CREATE VIEW MYEMPS AS
SELECT *
FROM EMP
WHERE DEPTNO IN
(SELECT DEPTNO
FROM EMP
WHERE ENAME = USER);
Ключевое слово USER (используемое в конструкции
WHERE ENAME=USER) возвращает имя текущего вошедшего в систему
пользователя. Если это JONES, работающий в отделе 10, то он имеет доступ к
виду MYEMPS, где перечислены только работники отдела 10. Если это
BLAKE (из отдела 30), то он увидит только работников отдела 30. Другими
словами, вид становится чувствительным к тем, кто
его использует.
Несложно гарантировать доступ и привилегии обновления к виду
MYEMPS для всех трех менеджеров отделов для разрешения им читать и из-
менять любые данные о работниках только их отделов:
GRANT SELECT,UPDATE
ON MYEMPS
ТО JONES, BLAKE, CLARK;
Таким образом, если работник переведен в другой отдел (то есть значе-
ние в поле DEPTNO изменилось), новый менеджер автоматически получа-
ет доступ к сведениям по окладу данного работника, а старый менеджер от-
дела автоматически теряет к нему доступ. Сочетание возможностей VIEW и
GRANT, а также ключевого слова USER, дает
поддерживающим SQL сис-
темам способность осуществлять защиту, чувствительную к содержимому
БД.
Команда REVOKE
После предоставления привилегии всегда можно ее отменить при помо-
щи команды REVOKE.
- 47 - GRANT SELECT ON EMPS TO PUBLIC; --- PUBLIC значит ‘ДЛЯ ВСЕХ’ Еще одна возможность SQL - он позволяет создавать виды, возвра- щающие разные результаты разным пользователям ! Создадим вид таблицы EMP, возвращающий данные только о тех пользователях, номера отдела ко- торых совпадают с номером отдела персоны, использующей данный вид: CREATE VIEW MYEMPS AS SELECT * FROM EMP WHERE DEPTNO IN (SELECT DEPTNO FROM EMP WHERE ENAME = USER); Ключевое слово USER (используемое в конструкции WHERE ENAME=USER) возвращает имя текущего вошедшего в систему пользователя. Если это JONES, работающий в отделе 10, то он имеет доступ к виду MYEMPS, где перечислены только работники отдела 10. Если это BLAKE (из отдела 30), то он увидит только работников отдела 30. Другими словами, вид становится чувствительным к тем, кто его использует. Несложно гарантировать доступ и привилегии обновления к виду MYEMPS для всех трех менеджеров отделов для разрешения им читать и из- менять любые данные о работниках только их отделов: GRANT SELECT,UPDATE ON MYEMPS ТО JONES, BLAKE, CLARK; Таким образом, если работник переведен в другой отдел (то есть значе- ние в поле DEPTNO изменилось), новый менеджер автоматически получа- ет доступ к сведениям по окладу данного работника, а старый менеджер от- дела автоматически теряет к нему доступ. Сочетание возможностей VIEW и GRANT, а также ключевого слова USER, дает поддерживающим SQL сис- темам способность осуществлять защиту, чувствительную к содержимому БД. Команда REVOKE После предоставления привилегии всегда можно ее отменить при помо- щи команды REVOKE.
Страницы
- « первая
- ‹ предыдущая
- …
- 45
- 46
- 47
- 48
- 49
- …
- следующая ›
- последняя »