Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.05;
Скачать: CL | DM;

Вниз

Interbase: помогите разобраться с правами.   Найти похожие ветки 

 
Schooler   (2005-12-08 11:42) [0]

Есть БД Interbase, содержит одну таблицу PERSONS (Owner: SYSDBA)

Далее создаю двух пользователей: MICHAELE, VLAD.(SYSDBA оставлен целым и невридимым)

Затем:


/* CLEAR USERS RIGHTS */

REVOKE ALL ON PERSONS FROM MICHAELE ^
REVOKE ALL ON PERSONS FROM VLAD ^

/* Role: UEDITOR,UVIEWER, Owner: SYSDBA */
CREATE ROLE UEDITOR ^
CREATE ROLE UVIEWER ^

GRANT UPDATE ON PERSONS TO UEDITOR ^
GRANT SELECT ON PERSONS TO UVIEWER ^
GRANT UEDITOR TO MICHAELE ^
GRANT UEDITOR TO VLAD ^
GRANT UVIEWER TO MICHAELE ^
GRANT UVIEWER TO VLAD ^

COMMIT WORK ^
...


1.Присоединяемся к базе:
 
User = "MICHAELE" password "***" Role "UVIEWER"

1.1.Делаем:
Select * From Persons
Все нормально: ожидаемая реакция

1.2.Делаем:
Update Persons
Set
 Name = "New Name"

Ошибка: Statement failed, SQLCODE = -551
Все нормально: ожидаемая реакция

2.Присоединяемся к базе:
 
User = "MICHAELE" password "***" Role "UEDITOR"

2.1.Делаем:
Select * From Persons
Ошибка: Statement failed, SQLCODE = -551
Все нормально: ожидаемая реакция

2.2.Делаем:
Update Persons
Set
 Name = "New Name"

Ошибка: Statement failed, SQLCODE = -551

ВОТ ЗДЕСЬ НЕ ПОНЯТНО !
Это надо понимать, что вместо моего
GRANT UPDATE ON PERSONS TO UEDITOR ^
Надо
GRANT SELECT, UPDATE ON PERSONS TO UEDITOR ^ ?


 
Johnmen ©   (2005-12-08 11:50) [1]

Это надо понимать так, что пользователю "MICHAELE" последняя назначенная роль UVIEWER. Т.е. назначение ему роли UEDITOR уже перебито ролью UVIEWER.
GRANT UEDITOR TO MICHAELE ^
...
GRANT UVIEWER TO MICHAELE ^


 
Schooler   (2005-12-08 12:19) [2]

To Johnmen ©

Спасибо !


 
Schooler   (2005-12-08 12:27) [3]

Еще вдогонку.

Т.е. когда делаю 2 (User = "MICHAELE" password "***" Role "UEDITOR"
), получается, что роль "UEDITOR" не назначена для "MICHAELE" и на самом деле я зашел в базу как "MICHAELE" не с правами роли "UEDITOR", а справами самого "MICHAELE", которые , в свою очередь, были
REVOKE ALL ON PERSONS FROM MICHAELE.
Я правильно понимаю ?


 
Johnmen ©   (2005-12-08 12:35) [4]

>Schooler   (08.12.05 12:27) [3]
>Я правильно понимаю ?

Да.



Страницы: 1 вся ветка

Текущий архив: 2006.02.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
15-1137196835
Джо
2006-01-14 03:00
2006.02.05
Отладка многопоточных приложений, C+A+D


4-1132571869
MTsv DN
2005-11-21 14:17
2006.02.05
Удержание кнопки мыши и кнопки...


2-1137435882
Navi
2006-01-16 21:24
2006.02.05
Ошибка удаления записи


15-1137548206
Фрэнд
2006-01-18 04:36
2006.02.05
Что в папке C: WINDOWS Recent ?


3-1133787514
Igor_thief
2005-12-05 15:58
2006.02.05
Paradox 7 и objectpal code?