0

我正面临 2 个基于适配器的身份验证的问题。我的应用程序是议程(混合应用程序)。所有适配器的功能都必须受到安全保护。

我的应用程序使用基于适配器的身份验证,例如在 DeveloperWorks 上的示例中编写的。

我的第一个适配器(loginAdapter)专用于登录(移动应用程序的开始)。我用 isCustomResponse、handlechallenge 等方法开发了一个处理程序(handlerLogin、移动端)。这个适配器有效。此适配器允许从登录名和密码中获取用户 ID。

一旦连接,用户就可以下载他的议程。移动设备调用另一个基于适配器的身份验证 (calendarAdapter)。我有另一个带有方法(isCustomResponse、handlechallenge)的处理程序(handlerCalendar)。

当手机调用getCalendarData方法(受保护的方法,CalendarAdapter)时,服务器检测到用户没有注册这个适配器,这就是为什么服务器通过函数onAuthRequired发送错误(结构authrequired + errorMessage)。

在这一步,一切正常。

实际上,问题在于,第一个处理程序(handlerLogin)捕获了这个错误,而它应该是第二个处理程序(handlerCalendar)。

鉴于它被 handlerLogin 捕获,isCustomResponse 和 handlechallenge 被调用,我没有预期的结果!我不知道为什么。

为什么它没有被 handlerCalendar 捕获?

我验证了我的代码、变量名、文件等。一切正常。

有关信息,我首先在 CalendarLogin 之前声明了 handlerLogin。

你有什么想法,建议吗??

先感谢您

4

1 回答 1

1

看起来你使用的是同一个领域。

isCustomResponse 函数的工作是找出这个质询处理程序是否应该处理这个特定的请求。如果您对两个适配器使用相同的领域,那么 2 个质询处理程序将对它做出反应。

于 2014-04-08T07:04:39.393 回答