powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / право VIEW на EXECUTE PROCEDURE
16 сообщений из 16, страница 1 из 1
право VIEW на EXECUTE PROCEDURE
    #38415663
nitro789654123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Firebird 2.5
Здравствуйте. Ситуация такая: постановка права под SYSDBA для конкетной view на EXECUTE PROCEDURE конкретной процедуры не дает эффекта, то есть если пользователь селектит выходные параметры процедуры во вьюшке возникает ошибка доступа, если же проставить права на EXECUTE PROCEDURE этому пользователю, то работает(но это очень не желательно).

В свою очередь если к примеру проставить права процедуре на SELECT из таблицы, для нормальной работы этого достаточно, т.е ошибка доступа не возникает даже если у пользователя прав на SELECT из таблицы нет.

В чем может быть дело? в идеале хотелось бы чтобы пользователь имел права только на конечные VIEW.
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38415712
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nitro789654123,

использовать ХП во VIEW до 2.5 нельзя было. Теперь разрешили, но этим мало кто пользуется. Возможно с правами там какой нибудь косяк.

Приведи полную версию FB. И выложи воспроизводимый скрипт
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38415768
nitro789654123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Firebird 2.5.0.26074
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE VIEW VIEW_EMPLOYEES(
    EMPLOYEE_ID,
    LASTNAME,
    FIRSTNAME,
    MIDDLENAME)
AS
select F_ID, F_LAST_NAME, F_FIRST_NAME, F_MIDDLE_NAME from EXPORT_EMPLOYEES(1)
where not F_ID_SUBDIV is null;


select * FROM VIEW_EMPLOYEES;




код на постановку прав не видел, ставил через IBExpert.
В менеджере доступа в правах VIEW_EMPLOYEES и после обновления грида в столбце execute строки EXPORT_EMPLOYEES зеленый круглешок отображается(как и в случае с пользователем, но с пользователем реально работает).
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38415809
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nitro789654123,

для начала обнови FB хотя бы до 2.5.2 и проверь на нём.
На закладке скрипт для представлений скрипт на права тоже должен отображаться кинь его сюда плиз.
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38415817
Dzirt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nitro789654123, либо ты нас дуришь, либо одно из двух... Вот скрипт:
Код: 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.
42.
SET NAMES WIN1251;
SET SQL DIALECT 3;

CONNECT 'localhost:test3' USER 'SYSDBA' PASSWORD 'masterkey';

SET AUTODDL ON;
set term ^ ;


create or alter procedure EXPORT_EMPLOYEES (
    NUM integer)
returns (
    EMPLOYEE_NUM integer)
AS
begin
    EMPLOYEE_NUM = NUM * 10;
    suspend;
end
^


CREATE OR ALTER VIEW VIEW_EMPLOYEES(
    EMPLOYEE_NUM_FROM_VIEW)
AS
select EMPLOYEE_NUM from EXPORT_EMPLOYEES(1)
^

set term ^ ;

grant execute on procedure EXPORT_EMPLOYEES to view VIEW_EMPLOYEES;
grant all on VIEW_EMPLOYEES to STATISTIC;
commit;



CONNECT 'localhost:test3' USER 'STATISTIC' PASSWORD 'status';

select * from VIEW_EMPLOYEES;
commit;

select * from EXPORT_EMPLOYEES( 1 );
commit;



Вот результат его выполнения:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
C:\4>isql -i create.sql
Use CONNECT or CREATE DATABASE to specify a database

EMPLOYEE_NUM_FROM_VIEW
======================
                    10

Statement failed, SQLSTATE = 28000
no permission for execute access to PROCEDURE EXPORT_EMPLOYEES
After line 39 in file create.sql


Прекрасно видно, что вьюшка отработала как надо, а выборка из процедуры не прокатила...

Возможно, дело в версии сервера, у меня 2.5.3.26705
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38415822
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисмало кто пользуетсяПользуются-пользуются... и весьма удобно ;-)
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38416022
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill Razuvaev> Пользуются-пользуются... и весьма удобно ;-)

Это ж извращение. Пример можешь привести?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38416109
nitro789654123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Код: sql
1.
2.
3.
GRANT EXECUTE ON PROCEDURE EXPORT_EMPLOYEES  TO VIEW VIEW_EMPLOYEES;
GRANT EXECUTE ON PROCEDURE EXPORT_EMPLOYEES  TO SYSDBA;
GRANT EXECUTE ON PROCEDURE EXPORT_EMPLOYEES  TO USER_EMPL;



без прав на пользователя
Код: sql
1.
GRANT EXECUTE ON PROCEDURE EXPORT_EMPLOYEES  TO USER_EMPL;


повторюсь не работает.

Сейчас сходу так обновить не получится, это база большой довольно таки системы, и база по 10 ГБ, долго заливать к себе по удаленке. если на каком то этапе откажет в конце концов из-за того что я прикручивал костыли - не гут.


Для тех кто говорит что извращение: EXPORT_EMPLOYEES - можно считать системная процедура на прикладном уровне данной системы, то что вней я переписывать заново не собираюсь:) зачем селектить по таблицам если она есть?

значит пока как полумера - права на пользователя, и закрыть доступ к метаданным.
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38416119
Dzirt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nitro789654123...
повторюсь не работает.
А если мой скрипт попробовать выполнить поменяв имена/пароли и имя базы?
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38416177
nitro789654123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dzirt,

Ситуация та же, нет тоступа к EXECUTE PROCEDURE EXPORT_EMPLOYEES2 (!), при селесте VIEW_EMPLOYEES2 под пользователем USER_EMPL;


ну а к EXPORT_EMPLOYEES2 тоже соответственно нет доступа, если комментить певый запрос на селект.

права:
Код: sql
1.
GRANT EXECUTE ON PROCEDURE EXPORT_EMPLOYEES2 TO VIEW VIEW_EMPLOYEES2;



Код: sql
1.
GRANT ALL ON VIEW_EMPLOYEES2 TO USER_EMPL;
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38416204
AnyUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nitro789654123
Тебе тут умную вестчь сказали
ибо http://tracker.firebirdsql.org/browse/CORE-927
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38416217
nitro789654123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AnyUser,

аааа вражеский аглицкий язык!

еще один момент: кто будет проверять на 2.5.0, не забудте явно праставить права SYSDBA на объекты, в противном случае селектить можно под остальными пользователями в независимости от того праставлены ему права или нет.
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38416230
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nitro789654123,

на 2.5.0 никто здесь проверять не будет. Ибо пользуются либо последней стабильной версией, либо свежим снапшотом.
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38416235
nitro789654123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Сегодня глядишь стабильная, а завтра уже не стабильная:)
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38416237
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nitro789654123,

тебе ведь уже про CORE-927 намекнули. Там написано что сиё правилось в 2.5.2. Вот и попробуй на нём.
...
Рейтинг: 0 / 0
право VIEW на EXECUTE PROCEDURE
    #38416478
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамПример можешь привести?Репрезентативный пример еще придумать надо. У меня используется для генерации списка значений со сложными условиями отбора для замены представлению с целью упрощения конструкции отбора (отказ от множественных case).
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / право VIEW на EXECUTE PROCEDURE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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