从Android应用程序到多米诺骨牌服务器的基本身份验证

时间:2015-06-22 07:52:18

标签: java android rest lotus-domino

我正在开发一个使用REST api与Domino服务器通信的Android应用程序。我在第一次调用(登录)时使用了基本身份验证,对于后续调用,我使用了DomAuthSessID,这是我在成功登录后从响应头中提取的。

但是,在服务器级别,当我查看Domino Administrator UI中的“Internet用户”部分时,我发现从应用程序到服务器的每次REST调用都会将我的用户数增加1.这意味着即使我发送DomAuthSessID for随后的REST调用,每次app发送GET / POST / PUT请求时,服务器都会为我创建一个新会话。

我希望实现服务器将每个调用(成功登录后)视为一个会话的功能。有关如何做到这一点的任何想法?

请注意,在这种情况下,Domino Server已配置为进行基本身份验证。

此外,服务器有一个sessionScope,用于检查这是否是现有会话。如果没有,则重新初始化特定REST调用的所有配置列表。但是,如果请求来自我的应用程序,则服务器为每个REST调用都有一个新的sessionScope,从而导致服务器级别的所有配置参数重新初始化。这是不可取的,因为它使事情变得缓慢。

我怀疑这两个问题是相关的还是可能不是?如果有人在这里有一些线索,请帮助我吗?

由于

1 个答案:

答案 0 :(得分:3)

要让多米诺骨牌服务器记住“会话”,您需要相应地进行配置。将服务器的身份验证从“基本”更改为“基于会话”。这是在服务器文档中完成的。您还将获得一个“DomAuthSessID” - Cookie,但这次它将是持久的。

之后,您将拥有一个“真实”会话,您可以在其有效期内重复使用(默认情况下为30分钟,可以增加)。

如果您将服务器配置为使用LTPAToken(多服务器(SSO)),则需要使用Cookies LTPAToken和/或LTPAToken2(取决于配置)而不是DomAuthSessID。