Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.16;
Скачать: CL | DM;

Вниз

вопрос ораклистам:   Найти похожие ветки 

 
data ©   (2007-11-16 17:31) [0]

Может быть кто знает - есть ли в оракле функция, которая возвращает имя доменного юзера? Именно не юзера БД, которого получаем в user, а имя юзера домена, под которым работает в данный момент пользователь.
Или хотябы мож кто подскажет в каком направлении копать?


 
Reindeer Moss Eater ©   (2007-11-16 17:32) [1]

дык если на сервере заюзана доменная авторизация то это и будет доменное имя


 
data ©   (2007-11-16 17:35) [2]


> Reindeer Moss Eater ©   (16.11.07 17:32) [1]


авторизация есть, но мне текущее доменное хотелось бы в селектах пользовать.


 
Reindeer Moss Eater ©   (2007-11-16 17:38) [3]

ниче не понял. если я в домене "вася" и оракл пускает доменных пользователей, то user и будет "вася", а не "петя".
разве нет?


 
data ©   (2007-11-16 17:38) [4]


> Reindeer Moss Eater ©   (16.11.07 17:32) [1]


К БД все клиенты конектятся под одним и темже пользователем. Вот хотелось бы их как-то различать, не переделывая этот порядок. Подумалось, что можно было по имени в домене.


 
Reindeer Moss Eater ©   (2007-11-16 17:39) [5]

Ну так это далеко не доменная автоизация.


 
data ©   (2007-11-16 17:42) [6]


> Reindeer Moss Eater ©   (16.11.07 17:39) [5]
> Ну так это далеко не доменная автоизация.


да, я ошиблась с термином. А как такая авторизация называется?


 
Reindeer Moss Eater ©   (2007-11-16 17:43) [7]

а различать с какой целью?


 
Reindeer Moss Eater ©   (2007-11-16 17:44) [8]

это обычная проверка подлинности самим сервером


 
Правильный_Вася   (2007-11-16 17:48) [9]

хотя б для какой весрии скажи


 
Reindeer Moss Eater ©   (2007-11-16 17:48) [10]

В общем если речь об sql, то это нафик не надо. Это имя на клиенте доступно.

Если это PL/SQL то завести пакет, объявить в нем переменную и процедуру её инициализации доменным именем юзера. Значение будет жить пока жива сессия.

Хотя с другой стороны v$_session же "видит" нужное вам имя.


 
Petr V. Abramov ©   (2007-11-16 17:49) [11]

sys_context("OS_USER")


 
data ©   (2007-11-16 17:50) [12]


> Reindeer Moss Eater ©   (16.11.07 17:43) [7]


с целью показывать только часть записей из определенной таблицы.
есть таблица T : Поле1,...,ПолеN, UserId. В UserId пишется доменное имя. Хотелось бы написать что-то вроде select * from T where UserId=доменное имя работающего с ней юзера. Факитически показать юзеру только его записи.


 
Reindeer Moss Eater ©   (2007-11-16 17:52) [13]

так текст запроса-то где рождается?
или просто не хочется параметры использовать?


 
Reindeer Moss Eater ©   (2007-11-16 17:55) [14]

а вообще странная система.
авторизация самим ораклом, все ходят одним пользователем, но судя по всему в приложении нет справочника пользователей.
иначе откуда такая проблема?


 
Petr V. Abramov ©   (2007-11-16 17:55) [15]

> data ©   (16.11.07 17:50) [12]
не перестаю удивляться героическому армянскому комсомолу.
Сначала сделать вход в систему под единым логином, а потом писать собственную систему раздачи грантов на объекты и на записи, вместо того, чтоб использовать grant/revoke и dbms_rls.
Я конечно понимаю, что это не совсем в твой адрес, ты ж аналитик :) на готовой системе


 
data ©   (2007-11-16 17:55) [16]


> так текст запроса-то где рождается?


еслибы можно было параметр, я бы и не спрашивала :).
Тект можно только определенный, потому как он "рождается" по определенным правилам. В нем можно только where, но предопределенное в дизайнтайме, без параметров.


 
Reindeer Moss Eater ©   (2007-11-16 17:57) [17]

Зашибись.
Остается догадываться откуда в колонке UserId появилось доменное имя юзера

select * from T where UserId=доменное имя


 
data ©   (2007-11-16 18:04) [18]


> не перестаю удивляться героическому армянскому комсомолу.
>


мда.. тут действительно неизвестно в чей адрес. не все так плохо в системе как кажется из моего рассказа, возможно я что-то недодумываю по задаче.
а полностью ее излагать тут долго..
про sys_context("OS_USER") сейчас попробую почитать, спасибо большое


> но судя по всему в приложении нет справочника пользователей.


есть, но в данном случае его нельзя использовать.


 
Desdechado ©   (2007-11-16 18:05) [19]

dbms_rls
row level security


 
data ©   (2007-11-16 18:06) [20]


> Reindeer Moss Eater ©   (16.11.07 17:57) [17]
> Зашибись.
> Остается догадываться откуда в колонке UserId появилось
> доменное имя юзера


уже написала выше, что долго объяснять всю ситуацию в целом.


 
Petr V. Abramov ©   (2007-11-16 18:08) [21]

> не все так плохо в системе как кажется из моего рассказа
совсем-то все плохо не бывает
:)
но когда приходится писать на коленке то, что уже сделано ораклом - наводит на определенные мысли.


 
Reindeer Moss Eater ©   (2007-11-16 18:08) [22]

а процедуры с параметрами вызывать можно ?


 
Petr V. Abramov ©   (2007-11-16 18:10) [23]

> Reindeer Moss Eater ©   (16.11.07 18:08) [22]
а from писать можно? :)


 
Reindeer Moss Eater ©   (2007-11-16 18:11) [24]

можно, но только из dual
:)


 
data ©   (2007-11-16 18:13) [25]


> но когда приходится писать на коленке то, что уже сделано
> ораклом


с ораклом я в данной ситуации работаю не напрямую, а в связке с еще 2мя системами, к тому же разработанными сторонними разработчиками, поэтому использовать абсолютно все его возможности к сожалению не получается.


 
data ©   (2007-11-16 18:14) [26]


> а from писать можно? :)


будете смеяться, но тоже нельзя, кстати в данной конкретной ситуации.


 
Reindeer Moss Eater ©   (2007-11-16 18:15) [27]

зато какой шоколадный план будет


 
Petr V. Abramov ©   (2007-11-16 18:16) [28]

> Reindeer Moss Eater ©   (16.11.07 18:11) [24]

declare
 :cur sys_refcursor;
begin
 execute immediate "create synonym dual for mytable";
 open :cur for select * from dual;
 execute immediate "drop synonym dual";
-- так для каждой таблицы, а join на клиенте
end;


 
Petr V. Abramov ©   (2007-11-16 18:18) [29]

> data ©   (16.11.07 18:14) [26]
выход есть, см. [28]
:)))


 
data ©   (2007-11-16 18:20) [30]


> Petr V. Abramov ©


кстати, SYS_CONTEXT у меня второй параметр запрашивает


 
Reindeer Moss Eater ©   (2007-11-16 18:21) [31]

ага. и не забыть попросить привилегию на криэйт ани синоним.


 
Reindeer Moss Eater ©   (2007-11-16 18:24) [32]

а вообще прокатило :)


 
Petr V. Abramov ©   (2007-11-16 18:27) [33]

> data ©   (16.11.07 18:20) [30]
> кстати, SYS_CONTEXT у меня второй параметр запрашивает

ну так дай, если запрашивает
sys_context("USERENV", "OS_USER)


 
data ©   (2007-11-16 18:27) [34]

вобщем, с SYS_CONTEXT  разобралось, все заработало, спасибо большое Петру.


 
data ©   (2007-11-16 18:28) [35]


> sys_context("USERENV", "OS_USER)


угу, так и сделала, сначала про "USERENV" не знала
еще раз спасиб


 
Petr V. Abramov ©   (2007-11-16 18:30) [36]

> data ©   (16.11.07 18:27) [34]
> вобщем, с SYS_CONTEXT  разобралось, все заработало, спасибо большое Петру.
да не за что


 
data ©   (2007-11-16 18:37) [37]


> Petr V. Abramov ©   (16.11.07 18:30) [36]
да не за что

не, есть за что)))
меня начальство за оперативность похвалило)


 
Petr V. Abramov ©   (2007-11-16 18:50) [38]

> data ©   (16.11.07 18:37) [37]
полезно будет, когда начальство поймет [15], а не будет хвалить за оперативное выполнение героической работы.
А вообще-то если за оперативность дадут еще и премию - ну тогда сама понимаешь :)



Страницы: 1 вся ветка

Текущий архив: 2007.12.16;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.024 c
4-1180166777
Ganda
2007-05-26 12:06
2007.12.16
Подключить 32 битную библиотеку к 16 битному приложению.


3-1186917248
kirik
2007-08-12 15:14
2007.12.16
проблема с dbf (dbase4) при чтении текстовых полей.


15-1195087241
Саунд
2007-11-15 03:40
2007.12.16
асм в делфи


3-1186983366
sergeyst
2007-08-13 09:36
2007.12.16
ошибка IB6.5


2-1195863024
СЕРВИС
2007-11-24 03:10
2007.12.16
Связь между сервисом и его программой оболочкой