| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Изменение прав для текущей сессии |
| Автор: carper 19.6.2008, 15:15 | ||
| По ряду причин хочется иметь следующий механизм работы (упрощенно) : - Две схемы, одна только на коннект (min_rights_schema) , другая имеет определенные права на определенную таблицу, например,
- Куча (около двухсот) пользователей приложения, не имеющих своей схемы, а использующих для коннекта всегда схему с минимальными правами - min_rights_schema - Что хочется? Чтобы в зависимости от того, какой пользователь (не схема, а приложения) вошел, он мог работать либо справами от одной схемы либо от другой. Что тут сложного? Вот бы и коннектился либо от имени той схемы либо от другой? Сложность в том, что, во-первых 2-х звенка, во-вторых, КРАЙНЕ нежелательно чтобы прикладное приложение знало реальный пароль схемы, имеющей некие доп. права, и вообще это пароль был где-то известен, кроме как на машине с самой базой! Хочется чтобы после получения коннекта с мин. правами вызвать какую-нибудь хранимую процедуру на стороне СУБД и с ее помощью динамически изменить права текущей сессии. (Про установку контекста и т.п. знаю, но, по ряду причин, не хотелось бы задействовать FGA или анализировать права на уровне самописных хранимых процедур или тригерров). Буду признателен за любые идеи. |
| Автор: carper 19.6.2008, 15:55 |
| Разобрался сам! Есть такая возможность, начиная с 9-ой версии! |