AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.05.2006, 13:15   #1  
Romb is offline
Romb
Участник
Аватар для Romb
 
79 / 22 (1) +++
Регистрация: 06.01.2004
Angry Быстрая авторизация в Web + переход по сформированной ссылке
Озабочен такой проблемой. Если сначала логинишься в Web-портал Axapta, то после этого точные ссылки, типа
Код:
http://axserver/axweb/default.asp?WMFN=RL_ConfirmableInventJournalTable&WMFT=D&WPG=RLt_HomePageOnline&WTID=154&WREC=302668&WKEY=[/url][65534:302668]
работают нормально, т.е. открывается нужный пункт меню с нужными данными и т.д. Если же не залогинен, то номер не проходит, надо ввести имя/пароль, т.е. первый раз инициировать сессию, а потом уже ждать корректной обработки точных ссылок.

Мне нужно было добиться чтобы пользователь, ни разу не залогинившись ранее в портал, тыкал на точную ссылку и попадал куда надо. Т.е.
1. Чтобы происходил автологин в Web подобно авторизации обычного клиента по доменному имени.
2. Чтобы после автологина ссылка корректно обрабатывалась.

Первый пункт решился. Т.е. если обратиться на урл портала, то происходит автологин, пользователь "за кадром" логинится соответствующим его сетевому имени Web-пользователем и видит начальную страницу портала. Но если обратиться в первый раз на урл портала с точной ссылкой, то она "теряется" - метод Show() класса WebApplication использует сессию (объект WebSession), с пустым args, хотя он должен содержать распарсенные из урла точной ссылки параметры (WMFN, WKEY и т.д.).

Я в концептуальном тупике - не знаю с чего начать, что копать, в каком месте смотреть. Пожалуйста, посоветуйте что-нибудь, буду очень признателен.

Последний раз редактировалось Romb; 12.05.2006 в 13:17.
Старый 12.05.2006, 13:43   #2  
Romb is offline
Romb
Участник
Аватар для Romb
 
79 / 22 (1) +++
Регистрация: 06.01.2004
Пока писал сообщение понял, что "ошибка" кроется в WebApplication.Logon(), там есть на 60 строчке есть редирект на переданный url (weblink) и так как он пустой, то происходит редирект на урл домашней страницы (а она конечно "чистая" без параметров в урле) и, в этом случае все параметры теряются.

Код:
webSession.redirect(redirectTo);
Logon вызывается из метода SetUser. Получается, что нужно в SetUser или ранее контролировать наличие точной ссылки и давать на вход Logon-у.

Уф... Надеюсь на правильном пути.
Старый 12.05.2006, 16:31   #3  
leshy is offline
leshy
Участник
 
118 / 11 (1) +
Регистрация: 23.02.2004
Адрес: Киев
Цитата:
Сообщение от Romb
Первый пункт решился...
А можете подробнее обьяснить как вам удалось настроить автологин в портале?
Старый 15.05.2006, 04:53   #4  
Romb is offline
Romb
Участник
Аватар для Romb
 
79 / 22 (1) +++
Регистрация: 06.01.2004
Там проблема в том, что в web-приложении (функция Axapta() в файле i_axaptafunctions.asp) в строках:

Код:
 
        userid = Ws.Call("SwitchAxaptaUser")
        if (Not (userid = "")) then
            password = Ws.Call("switchWebUserPassword")
            weblogin = Ws.Call("SwitchWebUser")
            ...
После того, как Axapta "поняла" с каким доменными userid пользователь пришел к IIS, weblogin приходит пустой, т.е. метод SwitchWebUser у WebSession не возвращает Web-пользователя (переменная _switchWebUser), соответствующего доменному имени.

По идее надо обновлять переменную _switchWebUser, в том же месте, где и устанавливается _switchAxaptaUser (метод WebApplication.Logon()). Но пока я сделал заплатку, она работает. Я изменил метод WebSession.SwitchWebUser().

Код:
WebLogin switchWebUser()
{
    ;

    if (_switchAxaptaUser)
        _switchWebUser = (select firstonly WebLogin from WebUser where WebUser.UserId == _switchAxaptaUser).WebLogin;

    return _switchWebUser;
}
Теперь, если WebUser находится по AxaptaUser, то web-приложение логинится под этим WebUser-ом. Иначе, в моем случае вываливается weblet WebLogin.

Да. Чтобы это все работало IIS должен использовать "Integrated Windows Authentification".

Последний раз редактировалось Romb; 15.05.2006 в 05:12.
За это сообщение автора поблагодарили: leshy (1).
Старый 15.05.2006, 04:54   #5  
Romb is offline
Romb
Участник
Аватар для Romb
 
79 / 22 (1) +++
Регистрация: 06.01.2004
Это конечно забавно, но я порешал и остальные свои проблемы с Web-порталом, расскажу чуть позже.
Теги
enterprise portal, portal

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Inside Dynamics AX 4.0: The Web Framework Blog bot DAX Blogs 0 25.10.2007 03:04
Переход между компаниями на web-портале. Lanai DAX: Администрирование 1 30.10.2006 22:49
Pokluda: Outbound web service (AIF) Blog bot DAX Blogs 0 28.10.2006 17:43
Dynamics AX: Web 2.0 Workgroup - A network of Web 2.0 resources Blog bot DAX Blogs 0 28.10.2006 16:40
Solutions Monkey: EP Web Part connection Blog bot DAX Blogs 0 28.10.2006 16:40
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:06.