Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.039 c
1-1190889797
Omi
2007-09-27 14:43
2007.12.16
MDI Child форма из DLL


5-1164199192
Provodnick
2006-11-22 15:39
2007.12.16
Добавление Object в TRichEdit.Lines


15-1195215176
sds
2007-11-16 15:12
2007.12.16
Справочная служба аэропорта


2-1195235118
art36
2007-11-16 20:45
2007.12.16
Создать теги, метки программно возможно, но.....


2-1195732044
Василий К.
2007-11-22 14:47
2007.12.16
Непонятный Access Violation





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский