powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / no permission for usage access to generator ...(Firebird)
10 сообщений из 10, страница 1 из 1
no permission for usage access to generator ...(Firebird)
    #39734867
bastibubu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия Firebird-а 3.0
создал юзер user1:
Код: sql
1.
create user user1 password '***' 


создал роль A1:
Код: sql
1.
create role A1



Назначение роли A1 пользователю user1
Код: sql
1.
GRANT A1 TO USER user1 with admin option;


создал генератор, потом триггер. При удалении записи из recg вставляются удаленные записи в таблице RecgChangeLog:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
SET TERM ^ ;

CREATE TRIGGER TR_DELRECG_INSRECGCHANGELOG FOR RECG
ACTIVE BEFORE DELETE POSITION 0
AS
begin

  INSERT INTO RecgChangeLog
( 
  ID,
  RECG_K,
  FACTG_K,
  RECGDATE,
  ChangeDate,
  PR_K,
  RG,
  FGL2,
  FACTGN,
  RECN,
  RECGSUM
)

 VALUES

(
 NEXT VALUE FOR GENRECGCHANGELOG,
 old.RECG_K,
 old.FACTG_K,
 old.RECGDATE,
 CURRENT_TIMESTAMP,
 old.PR_K,
 old.RG,
 old.FGL2,
 old.FACTGN,
 old.RECN,
 old.RECGSUM
);

end^

SET TERM ; ^ 


При попитке удалять запись из Recg выводится: no permission for usage access to generator genrecgchangelog.

Если залогиниться как SYSDBA тогда ошибку не выводит!
пробовал GRANT USAGE ON SEQUENCE genrecgchangelog TO user1 но ничего не меняется.
...
Рейтинг: 0 / 0
no permission for usage access to generator ...(Firebird)
    #39734868
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bastibubuпробовал GRANT USAGE ON SEQUENCE genrecgchangelog TO user1 но ничего не меняется.

не верю
...
Рейтинг: 0 / 0
no permission for usage access to generator ...(Firebird)
    #39734880
bastibubu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисbastibubuпробовал GRANT USAGE ON SEQUENCE genrecgchangelog TO user1 но ничего не меняется.

не верю

http://tracker.firebirdsql.org/browse/CORE-5531
...
Рейтинг: 0 / 0
no permission for usage access to generator ...(Firebird)
    #39734885
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bastibubu,

собственно, к генератору обращается триггер, а не юзер. Какой смысл в этом случае давать юзеру права на генератор?
...
Рейтинг: 0 / 0
no permission for usage access to generator ...(Firebird)
    #39734891
bastibubu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
заработал:

Код: sql
1.
GRANT USAGE ON SEQUENCE GENRECGCHANGELOG TO TRIGGER TR_DELRECG_INSRECGCHANGELOG;



Не понял в чём разница, почему остальные триггеры работают без выдания триггеру привилегии USAGE?
...
Рейтинг: 0 / 0
no permission for usage access to generator ...(Firebird)
    #39734917
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bastibubu,

триггеры работают с правами вызывающего + собственные права.
...
Рейтинг: 0 / 0
no permission for usage access to generator ...(Firebird)
    #39734934
Roman Simakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы советовал как минимум проверить на последней версии Firebird 3. Там были исправления в эту тему. А до кучи еще и на Firebird 4.
В скрипте не понятно от какого пользователя создается триггер и генератор.
...
Рейтинг: 0 / 0
no permission for usage access to generator ...(Firebird)
    #39734957
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Simakov,

ну на 4.0 можно и попроще, там всё таки есть SQL SECURITY DEFINER
Спасибо вам за портирование это фичи в Firebird.
...
Рейтинг: 0 / 0
no permission for usage access to generator ...(Firebird)
    #39734963
Roman Simakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисRoman Simakov,

ну на 4.0 можно и попроще, там всё таки есть SQL SECURITY DEFINER
Спасибо вам за портирование это фичи в Firebird.

Пожалуйста) Однако все равно не ясно кто DEFINER :)
А с правами USAGE генераторов и исключений были чудеса. Не проверялось существование объектов и наличие GRANT OPTIONS.
Лучше бы всего увидеть пример от создания базы и пользователей, до ошибки, включая параметры каждого коннекта.
...
Рейтинг: 0 / 0
no permission for usage access to generator ...(Firebird)
    #39734967
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Simakov,

учитывая что в 3.0 чтобы быть создателем объекты нужны специфичные права, то скорее всего владелец БД или SYSDBA, или с амлой вероятностью пользователь с ролью RDB$ADMIN
Сомневаюсь чтобы bastibubu выдавал привилегии вида GRANT CREATE ...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / no permission for usage access to generator ...(Firebird)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]