基本身份验证会话管理 Domino
Basic authentication session management Domino
我有一个以下用例,我需要一些 pointers/hints/approaches 作为解决方案。
我必须为 android 应用程序创建一个登录屏幕,之后会有其他屏幕与 Domino 托管的服务器进行基于 REST 的调用。
现在登录 activity 我认为基本身份验证似乎是最简单的解决方案(如果我错了请纠正我)。服务器已经具有支持基于 Web 的应用程序的功能(基于会话的通信,浏览器使用 domino 自动处理)。
现在是问题部分
- 我不希望服务器更改其 android 的代码,因为服务器使用相同的数据满足 android 应用程序或基于 Web 的应用程序的请求。如何通过基本身份验证实现用户范围(即我可以知道后续操作是由刚刚通过 android 应用程序成功登录的同一用户完成的)。我怀疑 Domino 不允许您访问会话 ID 或 DOM 浏览器在基于 Web 的应用程序的情况下本质上传递的身份验证 ID。如何从 android 应用程序实现此功能?
- 如果我使用基本身份验证并发送数据,然后我注意到如果我在第一次调用 PUT 期间设置了一些会话范围的变量,那么当我尝试在我的下一个 GET 调用中获取它时,我不会取回该值android 应用程序。我相信这两个调用之间的会话不再存在?
- 在基本身份验证的情况下,服务器是否需要在后续调用中做一些额外的事情post成功登录?例如:使用 REST api 获取特定大学的学生名单,但为了检查用户是否有权进行此类操作,服务器必须了解该用户的访问权限,该权限通常存储作为基于会话的身份验证过程中的会话信息。
我知道在基本身份验证的情况下,我们会在每次调用服务器时传递用户 ID 和密码。我的主要问题是服务器如何处理此用户 ID 和密码?它是否每次都进行某种检查以检查相关操作的用户权限?
谢谢
回复:
I suspect Domino does not allow you to access session ID or DOM auth
ID which browser intrinsically passes in case of web based
application. How can I achieve this functionality from android app
Domino 仅使用 cookie 将会话信息来回传递给客户端。根据您在服务器上设置的会话身份验证类型,它可以是 DomAuthSessId 或 LtpaToken。有关详细信息,请参阅 here。
所以我不同意你关于基本身份验证是最简单方法的假设。如果服务器已经设置为会话身份验证,那么您所要做的就是确保从登录屏幕的响应中获取 cookie,并将其添加到所有 HTTP 调用中,这样您就可以进行会话了。
我有一个以下用例,我需要一些 pointers/hints/approaches 作为解决方案。
我必须为 android 应用程序创建一个登录屏幕,之后会有其他屏幕与 Domino 托管的服务器进行基于 REST 的调用。
现在登录 activity 我认为基本身份验证似乎是最简单的解决方案(如果我错了请纠正我)。服务器已经具有支持基于 Web 的应用程序的功能(基于会话的通信,浏览器使用 domino 自动处理)。
现在是问题部分
- 我不希望服务器更改其 android 的代码,因为服务器使用相同的数据满足 android 应用程序或基于 Web 的应用程序的请求。如何通过基本身份验证实现用户范围(即我可以知道后续操作是由刚刚通过 android 应用程序成功登录的同一用户完成的)。我怀疑 Domino 不允许您访问会话 ID 或 DOM 浏览器在基于 Web 的应用程序的情况下本质上传递的身份验证 ID。如何从 android 应用程序实现此功能?
- 如果我使用基本身份验证并发送数据,然后我注意到如果我在第一次调用 PUT 期间设置了一些会话范围的变量,那么当我尝试在我的下一个 GET 调用中获取它时,我不会取回该值android 应用程序。我相信这两个调用之间的会话不再存在?
- 在基本身份验证的情况下,服务器是否需要在后续调用中做一些额外的事情post成功登录?例如:使用 REST api 获取特定大学的学生名单,但为了检查用户是否有权进行此类操作,服务器必须了解该用户的访问权限,该权限通常存储作为基于会话的身份验证过程中的会话信息。
我知道在基本身份验证的情况下,我们会在每次调用服务器时传递用户 ID 和密码。我的主要问题是服务器如何处理此用户 ID 和密码?它是否每次都进行某种检查以检查相关操作的用户权限?
谢谢
回复:
I suspect Domino does not allow you to access session ID or DOM auth ID which browser intrinsically passes in case of web based application. How can I achieve this functionality from android app
Domino 仅使用 cookie 将会话信息来回传递给客户端。根据您在服务器上设置的会话身份验证类型,它可以是 DomAuthSessId 或 LtpaToken。有关详细信息,请参阅 here。
所以我不同意你关于基本身份验证是最简单方法的假设。如果服务器已经设置为会话身份验证,那么您所要做的就是确保从登录屏幕的响应中获取 cookie,并将其添加到所有 HTTP 调用中,这样您就可以进行会话了。