Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / no permission for usage access to generator ...(Firebird) / 10 сообщений из 10, страница 1 из 1
18.11.2018, 22:51
    #39734867
bastibubu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
no permission for usage access to generator ...(Firebird)
Версия 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
18.11.2018, 22:56
    #39734868
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
no permission for usage access to generator ...(Firebird)
bastibubuпробовал GRANT USAGE ON SEQUENCE genrecgchangelog TO user1 но ничего не меняется.

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

не верю

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

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

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



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

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

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

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

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

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


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