|
|
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
В MSSQL есть процедура sp_helprotect которая отображает в запросе список прав и функция PERMISSIONS с помощью которой можно самому изобретать с запросами . Есть ли что-то подобное в INTERBASE ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 16:44 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Не знаю, как насчет процедур, в IB все по-старинке, через системные таблицы, стандартно. RDB$USER_PRIVILEGES & RDB$ROLES ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 16:55 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Конкретнее. Чего нужно-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 16:56 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий Делаю всё в VBA - во время открытия формы нужно собрать инфу о том что можно что низя, в MSSQL делал - работала, просто не знаю с какого бока к этому подойти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 17:04 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий \r \r в результате получалось что-то вроде этого ...\r /topic/30104&pg=-1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 17:06 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Извини, но читать нитку тянущуюся аж на двух страницах, лень... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 17:08 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий Нет это ты извини .... В смысл в следующем 1). Через х.п. (запрос) получаем права для конкретной таблицы, конкретного юзера, 2). присваиваем значения из запроса переменным 3). в зависимости от значений переменных (0,1) либо посылаем юзера в бан :) либо строим интерфейс в зависимости от того к чему у него есть доступ к чему нет... так вот со 2 и 3 пунктом проблем нету , проблема с первым пунктом как изять данные доступа на поля одной из таблиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 17:17 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 17:27 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Пасибо , изучаю.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 18:13 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Всё равно немного не то.... Наверное придётся брать таблицы для Запроса групп,Юэеров,прав и делать перекрёстный запрос... Вот ещё чего... есть права на поля типа Referance - что они делают, читал о них толком не дошло... Дело в том , что отсутствует SELECT на поля таблицы и я хочу для себя заменить это Referance чтобы не городить лишнее или существует другой способ добавить вожножность раздачи прав на SELECT для полей таблиц (помимо доп.таблицы о которой секюрити InterBase ничего не будет знать...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 10:11 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
авторНаверное придётся брать таблицы для Запроса групп,Юэеров,прав и делать перекрёстный запрос... Нихрена не понял... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 11:01 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий Да я сейчас роюсь в системных таблицах прав доступа и тоже ни хрена не понимаю... зависимостей никаких.... похоже всё находится в одной RDB$USER_PRIVILEGES Ну например создаю группу Use К этой группе мне надо привязать 5 юзеров В итоге хочется получить по имени юзера список прав доступа..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 11:34 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
А не почитать ли тебе зелёную книжечку генерала д'Безака?.. (В.Пикуль) Нету у IB групп! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 11:38 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий Я сейчас красную начинаю читать.. и пытаюсь разобраться ... Не злись.. лучше скажи в какой таблице названия юзеров хранятся ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 11:49 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий в InterBase есть роли , что мешает использовать их как группы ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 11:51 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
авторлучше скажи в какой таблице названия юзеров хранятся "Названия юзеров" не хранятся в прикладной базе данных. Для их "хранения" есть специальная база - isc4.gdb, security.fdb, admin.ib (в зависимости от версии сервера). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 11:55 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий у меня это admin.ib. а можно ли получить запрос на список юзеров или нет.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 12:01 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Нет. Это секрет! Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 12:03 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий Блин , как всё просто когда знаешь, ну это я сейчас покручу потом покажу что получилось ..... кстати по поводу USERS Undefined name. Dynamic SQL Error. SQL error code = -204. Table unknown. USERS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 12:14 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
А из какой базы ты селектишь-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 12:17 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
мдя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 12:18 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Теперь ясно, тока уже ни к чему всё это..... :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 12:37 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
А что случилось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 13:01 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий Ничего не случилось, я думаю..... В любом случае кину что получилось, может чего скажите.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 13:23 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Только предупреди, когда кидать будешь. Чтоб успеть увернуться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 13:25 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Мужик, ну хорош уже прикалываться-то Тебе действительно чего-то надо? Тогда ответь - достаточно ли тебе будет знать роль юзверя? Только всерьез, приколы неуместны - время дорого же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 15:58 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
ещё раз попробую :) При загрузке приложения(формы) , мне нужно знать есть ли у этого юзера права на столбцы таблицы или нет (причем права могут задаваться тока в роли , а запрос на сервер WHERE =USER) SELECT на столбцы мне нужен как воздух , а его нету, поэтому и спрашивал по поводу Referance. Может и не стоило так выкаблучиваться, хотя мне быва интерестна тока функция возвращающая значение.. В общем получилось, правда с нагромождениями... 1). Узнаём какие права доступа у ролей SELECT RDB$FIELD_NAME, RDB$PRIVILEGE, RDB$RELATION_NAME,RDB$USER,RDB$USER_TYPE FROM RDB$USER_PRIVILEGES P WHERE RDB$USER_TYPE=13 2). узнаём какие юзеры к каким ролям принадлежат SELECT RDB$OBJECT_TYPE, RDB$RELATION_NAME, RDB$USER FROM RDB$USER_PRIVILEGES P WHERE RDB$OBJECT_TYPE=13 3). Результат.. SELECT RDB$RELATION_NAME, RDB$USER, RDB$FIELD_NAME, RDB$PRIVILEGE FROM RDB$USER_PRIVILEGES P WHERE RDB$USER_TYPE=8 AND RDB$OBJECT_TYPE<>13 UNION SELECT SEL_ROLES.RDB$RELATION_NAME, USERSGROUP.RDB$USER, SEL_ROLES.RDB$FIELD_NAME, SEL_ROLES.RDB$PRIVILEGE FROM USERSGROUP INNER JOIN SEL_ROLES ON USERSGROUP.RDB$RELATION_NAME=SEL_ROLES.RDB$USER Вроде бы так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 17:06 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
автор2). узнаём какие юзеры к каким ролям принадлежат SELECT RDB$OBJECT_TYPE, RDB$RELATION_NAME, RDB$USER FROM RDB$USER_PRIVILEGES P WHERE RDB$OBJECT_TYPE=13 Ысчё раз повторяю. Роли - не есть группы! Юзеры ролям не принадлежат . Юзеру даётся право подключаться к базе с той или иной ролью. При этом роль он должен сам указать . Явно. В параметрах подключения. Роли не комулятивны! Т.е. если юзеру даны гранты (к примеру) на роли BUCH и BOSS, то работают права только той роли, которую он указал при коннекте. Аминь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 19:17 |
|
||
|
посмотреть на права юзеров в базе
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий Сейчас проверил-понял.... прошу прощения, что я такой не понятливый :(( Блин, а как решают проблему с группами, или это не решаемо ? Всё равно запрос надо стоить будет, я предпочту обработать всё на сервере, а клиенту через EXECUDE или SELECT дать готовые данные, (WHERE USER="USER" AND TABLE="TABLE" AND ROLE="ROLE") с этим тогда сам разберусь. Единственно мучает вопрос , будет несколько вложенных запросов на таблицу с правами и сопутствующие... сервер выдержит нагрузку..(тормозить не будет ?) ведь к этим запросам будут обращатся достаточно часто (при открытии каждой формы ), и каждому юзеру нужно будет предоставлять свою выборку из массива ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2004, 09:33 |
|
||
|
|

start [/forum/topic.php?all=1&fid=40&tid=1579005]: |
0ms |
get settings: |
10ms |
get forum list: |
25ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 277ms |
| total: | 556ms |

| 0 / 0 |
