powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA9,web service, APACHE
6 сообщений из 6, страница 1 из 1
ASA9,web service, APACHE
    #34037411
ozzka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача:
клиет проходит APACHE-авторизацию на сайте и попадает на страницу, с которой уже исполняется запрос к web-service SYBASE.
Вопрос:
Как в самом web-сервисе (или в процедуре, которую он вызывает) получить логин юзера, который был введен в окошке авторизации apache? (что-то типа перловского $ENV{'REMOTE_USER'})
...
Рейтинг: 0 / 0
ASA9,web service, APACHE
    #34037907
v_smirnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запрос к базе идет уже от какого пользователя? Думаю как и с мобилинком - запрос идет от фиксированного (жестко заданного) пользователя.

Тогда один из варианто решения такой:
Добавить в процедуру (создать процедуру которая выполняется перед созданием коненкта к базе): DBA.login_check

set option PUBLIC.Login_procedure='DBA.login_check'

примерный вид этой процедуры:

create procedure dba.login_check ()
begin
declare INVALID_LOGON exception for sqlstate '28000';
declare not_connect integer;

begin
create variable login_name char(128);
/*переменная содержащая "истинное" имя пользователя*/
set login_name = current user;
end;

set not_connect = 0;
if (exists (select 1 from dbo.sa_conn_info() i where name like '%_olap%' and userid='branch')) and (connection_property( 'Userid' )='query') then
set not_connect=1;
end if;

if not_connect=1 then
signal INVALID_LOGON;
else
call sp_login_environment;
end if;
end;

После того как проходит авторизация на Apach - выполнять простейший запрос который установит переменную login_name правильным именем пользователя.

СКОРЕЕ всего все намного проще но ...
"Усложнять легко - упрощать сложно!"
...
Рейтинг: 0 / 0
ASA9,web service, APACHE
    #34041712
ozzka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
v_smirnov
наверное я неправильно поняла.
Смотрите, текст веб-сервиса, который будет выполняться от имени SPECIAL_USER
Код: plaintext
1.
2.
3.
4.
create service test 
type 'raw' 
authorization off 
user SPECIAL_USER
 as call dba.test()
Если я создаю процедуру DBA.login_check и устанавливаю option PUBLIC.Login_procedure, то переменная login_name - становится равной SPECIAL_USER, а не логину из APACHE авторизации.
Ибо получается, что от этого юзера выполняется авторизация.
В веб-сервисе, я не могу/не хочу включить авторизацию.

v_smirnovПосле того как проходит авторизация на Apach - выполнять простейший запрос который установит переменную login_name правильным именем пользователя.

Может быть я именно это не поняла? Как это сделать?
...
Рейтинг: 0 / 0
ASA9,web service, APACHE
    #34041729
old_joy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно в первую очередь глянуть сниффером, что идет от Apache к ASA. Если в заголовке летит имя пользователя и пароль, то проблем не будет.

Другое дело, как вы собиратесь проверять имя пользователя и пароль на последующих страницах. Скроей всего через куки. Так в чем проблема-то? Зная, что поместит в куку Апач, вы можете это считать куку и проверить можно ли отадвать страницу, или еще раз выставить 403 ошибку.
...
Рейтинг: 0 / 0
ASA9,web service, APACHE
    #34041765
ozzka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
old_joyНужно в первую очередь глянуть сниффером, что идет от Apache к ASA. Если в заголовке летит имя пользователя и пароль, то проблем не будет.
Будьте добры, поясните, что значит, "глянуть сниффером"

old_joy
Другое дело, как вы собиратесь проверять имя пользователя и пароль на последующих страницах. Скроей всего через куки. Так в чем проблема-то? Зная, что поместит в куку Апач, вы можете это считать куку и проверить можно ли отадвать страницу, или еще раз выставить 403 ошибку.
По идее, не должна использовать куки.
Вроде как мне просто надо имя пользователя положить в переменную окружения (как мне казалось, оно само туда кладется), а потом доставать. И просто не разрывать сессию, пока браузер не закроют (хотя, как это в SYBASE пока тоже не знаю, не приходилось раньше).
...
Рейтинг: 0 / 0
ASA9,web service, APACHE
    #34043106
old_joy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ozzka Будьте добры, поясните, что значит, "глянуть сниффером"
Перехватить пакеты, летящие от Апач к АСА и посмотреть заголовок страницы.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA9,web service, APACHE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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