powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / посмотреть на права юзеров в базе
29 сообщений из 29, показаны все 2 страниц
посмотреть на права юзеров в базе
    #32445849
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В MSSQL есть процедура sp_helprotect которая отображает в запросе список прав и функция PERMISSIONS с помощью которой можно самому изобретать с запросами . Есть ли что-то подобное в INTERBASE ?
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32445880
Roman Ignatiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, как насчет процедур, в IB все по-старинке, через системные таблицы, стандартно. RDB$USER_PRIVILEGES & RDB$ROLES
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32445883
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конкретнее. Чего нужно-то?
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32445903
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

Делаю всё в VBA - во время открытия формы нужно собрать инфу о том что можно что низя, в MSSQL делал - работала, просто не знаю с какого бока к этому подойти
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32445906
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий \r
\r
в результате получалось что-то вроде этого ...\r
/topic/30104&pg=-1
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32445915
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извини, но читать нитку тянущуюся аж на двух страницах, лень...
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32445939
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

Нет это ты извини ....

В смысл в следующем

1). Через х.п. (запрос) получаем права для конкретной таблицы, конкретного юзера,
2). присваиваем значения из запроса переменным
3). в зависимости от значений переменных (0,1) либо посылаем юзера в бан :) либо строим интерфейс в зависимости от того к чему у него есть доступ к чему нет...

так вот со 2 и 3 пунктом проблем нету , проблема с первым пунктом как изять данные доступа на поля одной из таблиц
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32445964
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
SELECT P.RDB$FIELD_NAME, P.RDB$PRIVILEGE
FROM RDB$USER_PRIVILEGES P
WHERE (P.RDB$USER = :USER_NAME)
  AND (P.RDB$RELATION_NAME = :TABLE_NAME)
  AND (P.RDB$OBJECT_TYPE =  0 )
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32446056
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пасибо , изучаю....
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32446592
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё равно немного не то....

Наверное придётся брать таблицы для Запроса групп,Юэеров,прав и делать перекрёстный запрос...

Вот ещё чего...
есть права на поля типа Referance - что они делают, читал о них толком не дошло... Дело в том , что отсутствует SELECT на поля таблицы и я хочу для себя заменить это Referance чтобы не городить лишнее или существует другой способ добавить вожножность раздачи прав на SELECT для полей таблиц (помимо доп.таблицы о которой секюрити InterBase ничего не будет знать...)
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32446736
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНаверное придётся брать таблицы для Запроса групп,Юэеров,прав и делать перекрёстный запрос...
Нихрена не понял...
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32446826
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

Да я сейчас роюсь в системных таблицах прав доступа и тоже ни хрена не понимаю... зависимостей никаких.... похоже всё находится в одной RDB$USER_PRIVILEGES

Ну например
создаю группу Use
К этой группе мне надо привязать 5 юзеров

В итоге хочется получить по имени юзера список прав доступа.....
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32446849
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не почитать ли тебе зелёную книжечку генерала д'Безака?..
(В.Пикуль)

Нету у IB групп!
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32446902
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

Я сейчас красную начинаю читать.. и пытаюсь разобраться ...
Не злись.. лучше скажи в какой таблице названия юзеров хранятся ?
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32446906
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

в InterBase есть роли , что мешает использовать их как группы ...
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32446915
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторлучше скажи в какой таблице названия юзеров хранятся
"Названия юзеров" не хранятся в прикладной базе данных.
Для их "хранения" есть специальная база - isc4.gdb, security.fdb, admin.ib (в зависимости от версии сервера).
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32446930
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

у меня это admin.ib.

а можно ли получить запрос на список юзеров или нет....
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32446937
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Это секрет!

Код: plaintext
SELECT * FROM USERS
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32446969
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
Блин , как всё просто когда знаешь, ну это я сейчас покручу потом покажу что получилось .....

кстати по поводу USERS

Undefined name.
Dynamic SQL Error.
SQL error code = -204.
Table unknown.
USERS.
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32446981
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А из какой базы ты селектишь-то?
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32446985
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мдя...
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32447034
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь ясно, тока уже ни к чему всё это..... :))
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32447106
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что случилось?
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32447171
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

Ничего не случилось, я думаю.....
В любом случае кину что получилось, может чего скажите....
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32447176
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только предупреди, когда кидать будешь.
Чтоб успеть увернуться.
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32447595
1man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мужик, ну хорош уже прикалываться-то
Тебе действительно чего-то надо? Тогда ответь - достаточно ли тебе будет знать роль юзверя? Только всерьез, приколы неуместны - время дорого же.
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32447776
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё раз попробую :)

При загрузке приложения(формы) , мне нужно знать есть ли у этого юзера права на столбцы таблицы или нет (причем права могут задаваться тока в роли , а запрос на сервер 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

Вроде бы так...
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32448092
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор2). узнаём какие юзеры к каким ролям принадлежат
SELECT RDB$OBJECT_TYPE, RDB$RELATION_NAME, RDB$USER
FROM RDB$USER_PRIVILEGES P
WHERE RDB$OBJECT_TYPE=13
Ысчё раз повторяю. Роли - не есть группы!
Юзеры ролям не принадлежат .
Юзеру даётся право подключаться к базе с той или иной ролью.
При этом роль он должен сам указать . Явно. В параметрах подключения.
Роли не комулятивны! Т.е. если юзеру даны гранты (к примеру) на роли BUCH и BOSS, то работают права только той роли, которую он указал при коннекте.
Аминь.
...
Рейтинг: 0 / 0
посмотреть на права юзеров в базе
    #32448479
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

Сейчас проверил-понял.... прошу прощения, что я такой не понятливый :((

Блин, а как решают проблему с группами, или это не решаемо ?

Всё равно запрос надо стоить будет, я предпочту обработать всё на сервере, а клиенту через EXECUDE или SELECT дать готовые данные, (WHERE USER="USER" AND TABLE="TABLE" AND ROLE="ROLE") с этим тогда сам разберусь.
Единственно мучает вопрос , будет несколько вложенных запросов на таблицу с правами и сопутствующие... сервер выдержит нагрузку..(тормозить не будет ?) ведь к этим запросам будут обращатся достаточно часто (при открытии каждой формы ), и каждому юзеру нужно будет предоставлять свою выборку из массива
...
Рейтинг: 0 / 0
29 сообщений из 29, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / посмотреть на права юзеров в базе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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