Worklight 6.1.0.1,并使用基于 Chrome 的模拟器启动移动 Web 应用程序。从 WL 工作室部署到 WL 开发服务器的应用程序和适配器。
我有一个安全的适配器程序,并且我已经使用两种配置进行了测试:
<procedure requestTimeoutInSeconds="20" name="getBaseData" securityTest="Connections-securityTest"/>
<procedure requestTimeoutInSeconds="20" name="getCommunityMembersOf" securityTest="Connections-securityTest"/>
和
<procedure connectAs="endUser" requestTimeoutInSeconds="20" name="getBasetData" securityTest="Connections-securityTest"/>
<procedure connectAs="endUser" requestTimeoutInSeconds="20" name="getCommunityMembersOf" securityTest="Connections-securityTest"/>
getBaseData 只是简单地创建活动用户(包括 id + pwd 供以后使用),并将固定数据返回给应用程序。getCommunityMemberOf 是一个从后端服务器检索数据的 https 适配器。此适配器从活动用户检索 id + pwd 并将此信息作为 https 请求的输入。
我使用 javascript 控制台启动了第一个 chrome 模拟器会话,显示应用程序调用了过程 getBaseData。收集并验证凭据,并完成 setActiveUser。然后,应用程序调用过程 getCommunityMembersOf 并且此过程调用进程而无需身份验证,正如预期的那样。
我为同一个应用程序启动了第二个 chrome 模拟器会话,并且 javascript 控制台显示调用过程 getBaseData 没有受到挑战,并且已被处理,这似乎表明身份验证已完成,表明模拟器会话 #1 身份验证也满足模拟器会话 #2 身份验证。这是我要防止的行为,并且两个模拟器会话都需要独立进行身份验证。感谢有关为什么会发生这种情况的任何建议,以及我可以做些什么来阻止此会话共享。谢谢你。