घर
Top.Mail.Ru Yandeks.Metrika
फोरम: "मामले";
वर्तमान संग्रह: 2005.07.11;
डाउनलोड करें: [xml.tar.bz2];

नीचे

यह कैसे पता करें कि किसी उपयोगकर्ता के पास तालिका / प्रक्रिया का अधिकार है या नहीं इसी तरह की शाखाएँ खोजें


yk ©   (2005-05-24 09:52) [0]

प्रिय स्वामी!
Подскажите как можно, зная имя пользователя,
и подключась к базе (из некоторого приложения на Delphi)
узнать имеет ли пользователь право на ту или иную процедуру/таблицу

Мне это нужно, что бы при подключении пользователя,
отключать на форме кнопки с действиями, которые он всё равно не может совершить (напимер удалить/добавить/изменить)



Johnmen ©   (2005-05-24 10:20) [1]

См. системные таблицы http://www.ibase.ru/devinfo/sysqry.htm



Виталий Панасенко   (2005-05-24 10:25) [2]

http://ibase.ru/devinfo/sysqry.htm
глянь тут



Sergey13 ©   (2005-05-24 10:33) [3]

क्या कनेक्शन के साथ भूमिका का विश्लेषण करना आसान नहीं है? अधिकार अक्सर नहीं बदलते हैं? बल्कि, डेटाबेस की संरचना को बदले बिना अधिकार नहीं बदलते हैं।



yk ©   (2005-05-24 10:54) [4]


> А не проще анализировать роль при коннекте?

Что Вы хотите сказать?

Забить жёстко роль в прогу?
Но название ролей, имена пользователей могут изменяться,
я знать не буду



Sergey13 ©   (2005-05-24 11:15) [5]

[4] yk ©   (24.05.05 10:54)
> Что Вы хотите сказать?
То, что при подключении к БД в параметрах, можно указать роль.
sql_role_name=Role_Name
Анализируя имя роли можно строить интерфейс. Это кстати поможет блокировать действия юзера если вдруг чего забыли отключить.

> लेकिन название ролей, имена пользователей могут изменяться,
А таблицы у вас юзера не переименовывают?



yk ©   (2005-05-25 07:15) [6]


> А таблицы у вас юзера не переименовывают?

नहीं ;)
Просто с именами ещё не определились, и с правами доступа до конца тоже.
Вообще как-то не охота забивать имена юзеров в прогу
(это меня очень смущает, идёт какое-то подсознательное отторжение)



stud ©   (2005-05-25 09:03) [7]


> Вообще как-то не охота забивать имена юзеров в прогу

а и не надо. анализировать нужно именно РОЛЬ с которой пользователь подключается, а ролей бедет не так уж и много



yk ©   (2005-05-25 09:24) [8]


> स्टड ©

:)
С ролями тоже пока не всё ясно :(



stud ©   (2005-05-25 09:31) [9]

так, это .. ibase.ru



Sergey13 ©   (2005-05-25 09:33) [10]

2[8] yk ©   (25.05.05 09:24)
> С ролями тоже пока не всё ясно :(
Очень рекомендую заполнить эти пробелы.



yk ©   (2005-05-25 10:35) [11]


> सर्गेईएक्सएनयूएमएक्स ©

सलाह के लिए धन्यवाद।
Но пока попробую разобраться с определением прав пользователя через системные таблицы
Что получиться - напишу
(Возможно воспользуюсь вашим советом :) )



Sergey13 ©   (2005-05-25 10:43) [12]

2[11] yk ©   (25.05.05 10:35)
> Но пока попробую разобраться с определением прав пользователя через системные таблицы
Твое право. Если ты хочешь из Москвы в Питер через Китай - флаг в руки. 8-)



P.N.P. ©   (2005-05-25 16:26) [13]

> yk © (25.05.05 10: 35) [11]
Вот скрипт для получения прав текущего пользователя (current_user)

SELECT p.rdb$relation_name,p.rdb$privilege,r.rdb$description FROM RDB$USER_PRIVILEGES p
left outer join rdb$relations r on r.rdb$relation_name=p.rdb$relation_name
where  p.RDB$PRIVILEGE<>"M"   and p.RDB$USER=current_user and
not (p.RDB$RELATION_NAME LIKE "%$%") order by r.rdb$RELATION_NAME,p.rdb$privilege



evvcom ©   (2005-05-25 16:31) [14]


> Анализируя имя роли можно строить интерфейс.

Я тоже не согласен с таким способом. Я, конечно, не работал с ИБ, но не думаю, что в нем все шыворот-навыворот. Имхо.



stud ©   (2005-05-25 17:38) [15]


> Я тоже не согласен с таким способом.

интересно, а что проще анализировать имя роли (1), или получить набор из н-элементов и анализировать его? самое интересное что этот набор анализировать нужно также, только скажем вместо одного if... их будет столько сколько набор вернул. а результат тот же.....



YK ©   (2005-05-25 17:49) [16]

>P.N.P. ©  
Спасибо - разобралась !
Только мне надо p.RDB$PRIVILEGE="X", т.к. меня интересует в основном может ли пользователь вызывать некоторые процедуры



Sergey13 ©   (2005-05-26 09:47) [17]

2 [14] evvcom ©   (25.05.05 16:31)
> Я тоже не согласен с таким способом.
Да мне собственно пофиг это. 8-)

>Я, конечно, не работал с ИБ, но не думаю, что в нем все шыворот-навыворот. Имхо.
А в чем вывернутость этого решения? Прочитав 1 (один) раз это значение, ты уже знаешь все. Приделал обработчик на открытие формы и вырубил кнопки. При чтении привилегий надо обрашаться к этим делам динамически столько раз сколько потребуется, а это могут быть и тысячи раз за сессию. Или хранить придется достаточно большой объем прав. А результат все равно - один и тот-же.
IMHO के।



evvcom ©   (2005-05-26 10:27) [18]


> а что проще

"Проще" далеко не всегда означает "лучше".

> सर्गेइएक्सन्यूम्एक्स © (13 26.05.05: 09) [47]

Все зависит от поставленной задачи.



पन्ने: 1 पूरी शाखा

फोरम: "मामले";
वर्तमान संग्रह: 2005.07.11;
डाउनलोड करें: [xml.tar.bz2];

ऊपर





मेमोरी: 0.61 एमबी
समय: 0.061 c
14-1118657144
emfw
2005-06-13 14:05
2005.07.11
प्रतिशत


1-1119387261
dosik
2005-06-22 00:54
2005.07.11
पीएक्सई डाउनलोड


10-1095699307
AlexSV
2004-09-20 20:55
2005.07.11
MSDN से idl का उपयोग कैसे करें


8-1111160885
zhongguoren
2005-03-18 18:48
2005.07.11
tstringlist.create


14-1118541601
एलेक्स कोन्शिन
2005-06-12 06:00
2005.07.11
क्या तेल काला खून है?





अफ्रीकी अल्बानियन अरबी भाषा अर्मेनियाई आज़रबाइजानी बस्क बेलारूसी बल्गेरियाई कैटलन सरलीकृत चीनी) चीनी पारंपरिक) क्रोएशियाई चेक डेनिश डच अंग्रेज़ी एस्तोनियावासी फिलिपिनो फिनिश फ्रेंच
गैलिशियन् जॉर्जियाई जर्मन यूनानी हाईटियन यहूदी हिंदी हंगरी आइसलैंड का इन्डोनेशियाई आयरिश इतालवी जापानी कोरियाई लात्वीयावासी लिथुआनियाई मेसीडोनियन मलायी मोलतिज़ नार्वेजियन
फ़ारसी पोलिश पुर्तगाली रोमानियाई रूसी सर्बियाई स्लोवाक स्लोवेनियाई स्पेनिश स्वाहिली स्वीडिश थाई तुर्की यूक्रेनी उर्दू वियतनामी वेल्श यहूदी बंगाली बोस्नियाई
सिबुआनो एस्पेरांतो गुजराती हौसा हमोंग ईग्बो जावानीस कन्नड़ खमेर लाओ लैटिन माओरी मराठी मंगोलियन नेपाली पंजाबी सोमाली तामिल तेलुगु योरूबा
ज़ुलु
Английский Французский Немецкий Итальянский Португальский Русский Испанский