Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Еще раз р разграничении прав доступа / 8 сообщений из 8, страница 1 из 1
28.01.2008, 21:49
    #35093175
makondo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз р разграничении прав доступа
Добрый день. Тема не раз поднималась. Например, эта тема показательна.

Делаю в оракле разграничение доступа.

1. Таблица USR (ID, NAME, other fields ) - пользователи
2. Таблица OBJ (ID, name, comments ) - имена как сущностей моей системы, на которые накладываются права, так и объектов БД - таблицы, вьюхи, пакеты, функции итд.
3. Таблица OBJGRANT (ID, NAME) - тип доступа (SELECT, UPDATE, INSERT, EXECUTE итд) Плюс здесь же имена ролей БД типа CONNECT, RESOURCE, DBA итд

4. ТАБЛИЦА ACL (ID, OBJ_ID, {OBJ_TYPE_ID}, OBJGRANT_ID, USR_ID) - все права пользователей
(5. Таблица соответствия ролей и пользователей USRROLES (ID, ROLE_ID, USR_ID) будет скоро...)

Вопрос следующий. Как наиболее красиво организовать совместное хранение отдельных прав пользователей и ролей ? Я их хотел бы называть группами, но в данном случае это одно и то же.

Если в ACL добавить поле-флаг IS_ROLE и в поле USR_ID писать ID роли, то получается некрасиво методологически. Если завести отдельную таблицу ACL_ROLE , то кода больше и опять же , некрасиво.

Как это обычно организуется?
...
Рейтинг: 0 / 0
28.01.2008, 22:45
    #35093228
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз р разграничении прав доступа
makondoДелаю в оракле разграничение доступа.
Жаль, что оракл об этом не знает, и ему пришлось городить собственный велосипед.

makondoЕсли в ACL добавить поле-флаг IS_ROLE и в поле USR_ID писать ID роли, то получается некрасиво методологически. Если завести отдельную таблицу ACL_ROLE , то кода больше и опять же , некрасиво.
Посмотри, как это делает Oracle. Например, взгляни в sys.objauth$
...
Рейтинг: 0 / 0
29.01.2008, 02:47
    #35093389
Mainframe_старый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз р разграничении прав доступа
softwarer makondoДелаю в оракле разграничение доступа.
Жаль, что оракл об этом не знает, и ему пришлось городить собственный велосипед.

makondoЕсли в ACL добавить поле-флаг IS_ROLE и в поле USR_ID писать ID роли, то получается некрасиво методологически. Если завести отдельную таблицу ACL_ROLE , то кода больше и опять же , некрасиво.
Посмотри, как это делает Oracle. Например, взгляни в sys.objauth$

А Вы еще возражали против отдельного курса по управлению правами ..
...
Рейтинг: 0 / 0
29.01.2008, 08:36
    #35093507
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз р разграничении прав доступа
Имеет смысл использовать максимально имеющиеся в Ms или Oracle системы управления правами, ролями, пользователями ДОПОЛНИВ их своими специфическиим данными, ориентированными на спейцифическую бизнес-логику, архитектуру, интерфейс клиентской части.
...
Рейтинг: 0 / 0
29.01.2008, 14:37
    #35094868
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз р разграничении прав доступа
Mainframe_старыйА Вы еще возражали против отдельного курса по управлению правами ..
И пока не вижу, в чем был неправ. Продолжаю считать, что тратить минимум 32 учебных часа на вдалбливание тезиса "пользуйся готовыми решениями" - многовато; дешевле выгнать тех, кому нужно именно столько времени.
...
Рейтинг: 0 / 0
29.01.2008, 15:24
    #35095035
makondo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз р разграничении прав доступа
softwarer Mainframe_старыйА Вы еще возражали против отдельного курса по управлению правами ..
И пока не вижу, в чем был неправ. Продолжаю считать, что тратить минимум 32 учебных часа на вдалбливание тезиса "пользуйся готовыми решениями" - многовато; дешевле выгнать тех, кому нужно именно столько времени.

Хорошо, как бы вы организовали систему прав в системе?
В любом случае необходим клиентский интерфейс а)для заведения пользователей и б) для добавления\удаления им прав как на отдельные сущности системы, так и на объекты БД.

Для этого в любом случае необходимо писать пакеты(я про оракл говорю) выполняющие динамический SQL. В него вставляются имена объектов, итд. Лучше придумать, чем брать их из своих таблиц, придумать не могу.
Почему по вашему мнению нужно отказаться от любой из перечисленных мною выше таблиц?
...
Рейтинг: 0 / 0
30.01.2008, 02:54
    #35096142
Mainframe_старый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз р разграничении прав доступа
Каждый 10-ый вопрос здесь касается прав доступа. Тут о нем уже так много написано, почти как в гугле, если набрать RAC, access control, access rights, управление доступом, права доступа и т.п.
...
Рейтинг: 0 / 0
30.01.2008, 11:25
    #35096779
Bogdanov Andrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз р разграничении прав доступа
makondo Лучше придумать, чем брать их из своих таблиц, придумать не могу.А почему не брать их из уже существующих в Oracle таблиц и представлений?
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Еще раз р разграничении прав доступа / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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