Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Права, требуемые коду view или функции
|
|||
|---|---|---|---|
|
#18+
Приветствую, господа На MSSQL привелигированный пользователь (для простоты - dbo) может написать view или процедуру, которые обращаются к неким таблицам, к которым dbo имеет доступ, а затем дать другому пользователю (для простоты - user) права на выполнение этой процедуры или просмотр этого view. При этом user может _не иметь_ прав доступа к этим таблицам. То есть получается, что код процедуры или view выполняется _с правами автора процедуры_. Я, натурально, даже не предполагал, что может быть по другому. Но вот сегодня postgresql 8.2 огорошил меня требованием прав для доступа к таблице для оператора, содержащегося в функции!. То есть я пишу под пользователем postges: CREATE OR REPLACE FUNCTION foo () RETURNS SETOF integer AS $$ SELECT code FROM bar; $$ LANGUAGE SQL STABLE; GRANT EXECUTE ON FUNCTION foo() TO public; потом под пользователем user пишу SELECT foo(); и получаю: ERROR: permission denied for relation bar Просвятите чайника: можно на PostgreSQL написать такую функцию, _не давая_ пользователю user прав на таблицу bar? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2007, 22:29 |
|
||
|
Права, требуемые коду view или функции
|
|||
|---|---|---|---|
|
#18+
Cyanide Я, натурально, даже не предполагал, что может быть по другому. Запросто может. Это другая система, документацию читать надо обязательно. По view - всё совпадает, по функциям - нужна волшебная опция при создании (и в MSSQL2005 кстати аналог её есть). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 04:30 |
|
||
|
Права, требуемые коду view или функции
|
|||
|---|---|---|---|
|
#18+
RTFM[EXTERNAL] SECURITY INVOKER [EXTERNAL] SECURITY DEFINER SECURITY INVOKER indicates that the function is to be executed with the privileges of the user that calls it. That is the default. SECURITY DEFINER specifies that the function is to be executed with the privileges of the user that created it. The key word EXTERNAL is allowed for SQL conformance, but it is optional since, unlike in SQL, this feature applies to all functions not only external ones. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 10:34 |
|
||
|
|

start [/forum/topic.php?fid=53&tid=2004932]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
66ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 348ms |

| 0 / 0 |
