Я столкнулся с проблемой аутентификации на основе двух адаптеров. Мое приложение — это повестка дня (гибридное приложение). Все функции адаптера должны быть защищены системой безопасности.
мое приложение использует аутентификацию на основе адаптеров, как написано в примерах на DeveloperWorks.
Мой первый адаптер (loginAdapter) предназначен для входа в систему (начало мобильного приложения). Я разработал обработчик (handlerLogin, мобильная сторона) с методами isCustomResponse, handlechallenge и т. д. Этот адаптер работает. Этот адаптер позволяет получить userId из логина и пароля.
После подключения пользователь может загрузить свою повестку дня. Мобильный телефон вызывает аутентификацию на основе другого адаптера (calendarAdapter). У меня есть другой обработчик (handlerCalendar) с методами (isCustomResponse, handlechallenge).
Когда мобиль вызывает метод getCalendarData (защищенный метод, CalendarAdapter), сервер обнаруживает, что пользователь не зарегистрирован для этого адаптера, поэтому сервер отправляет ошибку (структура authrequired + errorMessage) через функцию onAuthRequired.
На этом этапе все работает нормально.
Собственно, беда в том, что первый обработчик (handlerLogin) ловит эту ошибку, а должен быть второй обработчик (handlerCalendar).
Учитывая, что он перехватывается обработчиком Login, вызывается isCustomResponse и handlechallenge, и у меня нет ожидаемого результата! Я не знаю, почему.
Почему он не перехватывается обработчиком Calendar?
Я проверил свой код, имена переменных, файлы и т. д. Все в порядке.
Для информации, я сначала объявил handlerLogin до CalendarLogin.
Есть идеи, предложения??
заранее спасибо