IE vs FF (APEX 3.2 + Win 2003 Server)

macrophage

Доброго дня!
Установил apex 3.2 на машину с Win 2003 Server, в итоге через IE (6-й и 7-й) не получается зайти ни в апекс ни в созданное приложение, аутентификация проходит успешно (судя по логам но дальше страницы "логин/пароль" пройти не получается (т.е. вводишь логин и пароль, все это хавается, аутентификация проходит успешно, но после этого система снова предлагает ввести логин и пароль). Через FF все работает отлично, трабла не воспроизводится.
На Win XP Prof. ошибка не воспроизводится, т.е. все работает как через IE, так и через FF.
Никто не сталкивался с подобным? И какие можно поковырять настройки?

mbolik1

Какая аутентификация стоит в приложении?

macrophage

если ты о Authentication Function (Specify the function that will verify the user's login credentials. This function must return boolean to the login procedure that calls it.
Enter the value -BUILTIN- to cause Application Express "cookie user" accounts to be used for username/password authentication. Enter the value -DBACCOUNT- to have Application Express use a database schema username and password for authentication. Enter the value -LDAP- to have Application Express use the DBMS_LDAP package to query an LDAP directory that you have already configured. Enter nothing to allow any username/password to succeed. Or enter a function name that will check the username/password and return boolean. Enter a function name like this: return fn , where fn is the name of the function, qualified by schema name, package name, if required. The Application Express engine expects this function to have the signature (p_username in varchar2, p_password in varchar2) return boolean. The value of the username and password fields passed to the login API, which is called by the login page, will be passed to your function. In the login API call, which you can find on the login page's after-submit process, you can optionally specify a p_preserve_case boolean argument. Set this to true if you don't want the username converted to upper case during credentials verification and session registration.)
тогда: -BUILTIN-

mbolik1

Странно.
Попробуй в IE: Сервис->Свойство Обозревателя->Безопасность->(Выбираешь ту зону в которую у тебя apex попал)->Другой->В разделе Проверка подлинности пользователя выставляешь Запрос имени пользователя и пароля.

macrophage


 
Странно.
Попробуй в IE: Сервис->Свойство Обозревателя->Безопасность->(Выбираешь ту зону в которую у тебя apex попал)->Другой->В разделе Проверка подлинности пользователя выставляешь Запрос имени пользователя и пароля.
Ок, пасибо, завтра с утра попробую, отпишусь...
ага, странно, ибо в XP не воспроизводится. Т.е. в случае когда АПЕКС стоит на Win Server, то ни с какой машины не получается в него попасть через IE, но получается через FF. Если АПЕКС стоит на Win XP то с любого компа получается ходить через любой браузер. Похоже, что собака в настройках сервера, но где именно, чет не втыкаю...

macrophage

не помогло...
пошел дальше Server ковырять...

mbolik1

А если вообще отключить аутентификацию приложение будет работать через IE?

macrophage


 
А если вообще отключить аутентификацию приложение будет работать через IE?
неа, не будет... (пробовал)
Даже в апекс через IE не заходит, трабла не в аутентификации, а хз в чем... что-то не так с этим Win Server-ом.. либо у меня руки из "Ж" (раза 3 весь оракл с апачем и апексом переставлял - исход один).
Но прикол в том, что при прочих равных на Win XP все пашет.

mbolik1

неа, не будет... (пробовал)
Даже в апекс через IE не заходит, трабла не в аутентификации, а хз в чем... что-то не так с этим Win Server-ом.. либо у меня руки из "Ж" (раза 3 весь оракл с апачем и апексом переставлял - исход один).
Но прикол в том, что при прочих равных на Win XP все пашет.
Тогда давай ещё раз в чём проблема.
Вот мы создали приложение из 2-х страниц вообще без аутентификации как оно не работает?

mbolik1

Да ещё на всякий случай:
APEX определяет сессию по специальному session-cokie (а не по адресной строке как это может показаться и если этот session-cokie не будет приниматься браузером, то APEX будт считать что каждый запрос это новая сессия.
Вот тут описан механизм.

macrophage



Да ещё на всякий случай:
APEX определяет сессию по специальному session-cokie (а не по адресной строке как это может показаться и если этот session-cokie не будет приниматься браузером, то APEX будт считать что каждый запрос это новая сессия.
Вот тут описан механизм.
Пасибо, гляну.

macrophage


Тогда давай ещё раз в чём проблема.
Вот мы создали приложение из 2-х страниц вообще без аутентификации как оно не работает?
Давай с еще раньше =)
Установил я оракл, апач, и апекс на машину с Win 2003 Server.
Далее должен зайти из-под администратора, и создать там всяких нужностей.
Workspace - Internal
Username - Admin
Password - <password>

так, вот
1) через FF нормально логинюсь и создаю девелоперов и веркспэйсы, далее создаю приложения, пользователей и т.д.
2) через IE залогиниться не получается: после ввода некорректного логина/пароля система ругается и просит нормальные данные (это гут после ввода корректных данных система снова редиректит на окошко с вводом логина и пароля (без ругательств, "Normal, successful authentication" ).
Не важно: по сети или локально, с машины с Win 2003 Server или с Win XP Pro - FF пускает, IE не пускает.
Если поставить апекс на Win XP Pro, то независимо от браузера, независимо от ОС-и второй машины, независимо локально или по сети, все работает.
----------
Похоже, что на Win 2003 Server есть еще какие-то настройки, который FF игнорирует, а IE - нет. Сначала воевал с кукисами IE, потом ковырял конфиги апача.. Возможно что-то не доковырял, хз.. зиппался уже. :(

macrophage



если этот session-cokie не будет приниматься браузером, то APEX будт считать что каждый запрос это новая сессия
Не знаешь, как определить принимает браузер id сессии текущего пользователя или нет?
И если нет, то как научить его это делать?

Andbar

Похоже, что на Win 2003 Server есть еще какие-то настройки, который FF игнорирует, а IE - нет. Сначала воевал с кукисами IE, потом ковырял конфиги апача.. Возможно что-то не доковырял, хз.. зиппался уже. :(
ie enhanced security configuration? Только они вроде касаются исключительно клиента...
А вообще, наблюдал что-то подобное на одном корпоративном сайте на бывшей работе. При чём, сайт писали быдлослокодеры, соответственно, под фф интерфейс глючил.
Совет такой: поставь Live HTTP Headers на фф и аналогичный плагин на ослик (не помню, как называется, сам поищи). Это поможет выяснить, что происходит.

mbolik1

так, вот
1) через FF нормально логинюсь и создаю девелоперов и веркспэйсы, далее создаю приложения, пользователей и т.д.
2) через IE залогиниться не получается: после ввода некорректного логина/пароля система ругается и просит нормальные данные (это гут после ввода корректных данных система снова редиректит на окошко с вводом логина и пароля (без ругательств, "Normal, successful authentication" ).
Не важно: по сети или локально, с машины с Win 2003 Server или с Win XP Pro - FF пускает, IE не пускает.
Ага, а если залогиниться через FF, создать тупое приложение с парой страниц и без аутентификации, а потом напрямую зайти в это приложение через IE будет работать?

mbolik1

Не знаешь, как определить принимает браузер id сессии текущего пользователя или нет?
И если нет, то как научить его это делать?
По правильному: Создать страницу в apex на которой вывести этот самый cookie и несколько раз её обновить. Если значение пустое или каждый раз меняется — то проблема в cookie.
По простому: Зайти в APEX через FF и перейти в текущие сессии. Затем зайти в APEX через IE и несколько раз попытаться залогиниться. Если в FF видно что все попытки входа через IE породили новые сессии, то видимо причина в cookie.

macrophage


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

PS
то что выше писал что не работает, я говорил об отключенной аутентификации по паролю, но оставалась аутентификация по имени пользователя.


По правильному: Создать страницу в apex на которой вывести этот самый cookie и несколько раз её обновить. Если значение пустое или каждый раз меняется — то проблема в cookie.
По простому: Зайти в APEX через FF и перейти в текущие сессии. Затем зайти в APEX через IE и несколько раз попытаться залогиниться. Если в FF видно что все попытки входа через IE породили новые сессии, то видимо причина в cookie.
по правильному: пока не умею. Какая переменная содержит в себе этот номер? Ща погуглю, может че получится.
по простому: да, при попытке залогиниться через IE генерятся постоянно новые сессии.
Списибище! Теперь хоть стало понятнее куда капать!

macrophage



по правильному: пока не умею. Какая переменная содержит в себе этот номер? Ща погуглю, может че получится.
Переменную нашел по твоей ссылке: &SESSION.
В IE в приложении без аутентификации значение этой переменной не меняется. Кстати, в адресной строке оно так же присутствует и не меняется <server>:<port>/pls/apex/f?p=<app>:<page>:363655071410391
Чет я запутался...

mbolik1

Переменную нашел по твоей ссылке: &SESSION.
В IE в приложении без аутентификации значение этой переменной не меняется. Кстати, в адресной строке оно так же присутствует и не меняется <server>:<port>/pls/apex/f?p=<app>:<page>:363655071410391
Чет я запутался...
Повторюсь:
APEX определяет сессию по специальному session-cokie (а не по адресной строке как это может показаться)

Ты нашёл Session ID, это не session cookie. Вот описание различий от Оракл:
While the session ID is the key to session state, the session cookie (where applicable) and the session record safeguard the integrity of the session ID and the authentication status of the user.

Так что копай дальше тебе нужен именно cookie. Когда у меня стояла проблема узнать cookie я это делал кажется на js.

macrophage



Ты нашёл Session ID, это не session cookie. Вот описание различий от Оракл:

В ответ на:
While the session ID is the key to session state, the session cookie (where applicable) and the session record safeguard the integrity of the session ID and the authentication status of the user.
Так что копай дальше тебе нужен именно cookie. Когда у меня стояла проблема узнать cookie я это делал кажется на js.
ок, буду копать дальше... спасибо, еще раз. =)
Еще вопросик, допустим, проблема действительно в session cookie, как это лечится? это какие-то скрипты апача? или мб еще что-то?

mbolik1

Google
Оставить комментарий
Имя или ник:
Комментарий: