我遇到了与用户会话相关的问题。我正在使用基于适配器的身份验证,我用它来验证用户是否有来自Web服务的秘密数据。
例如,当user1登录时,他获取自己的数据。现在当user2登录时,他获得了自己的数据。但是user1也获取了user2的数据。所以所有用户都在获取上次登录用户的数据。
我试图把这个connectAs="endUser"
但我还是面临同样的问题。
有任何想法来解决这个问题。
实际上我有这个问题的相反行为: IBM Worklight 6.0 - Adapter with basic auth doesn't update auth header if client logs out/in
这是authenticationConfig.xml:
<securityTests>
<customSecurityTest name="AdapterSecurityTest">
<test isInternalUserID="true" realm="AdapterAuthRealm" />
</customSecurityTest>
<mobileSecurityTest name="PushSecurityTest">
<testUser realm="AdapterAuthRealm"/>
<testDeviceId provisioningType="none"/>
</mobileSecurityTest>
</securityTests>
<realms>
<realm name="AdapterAuthRealm" loginModule="AdapterLoginModule">
<className>com.worklight.integration.auth.AdapterAuthenticator</className>
<parameter name="login-function" value="MyAdapter.onAuthRequired" />
<parameter name="logout-function" value="MyAdapter.onLogout" />
</realm>
</realms>
<loginModules>
<loginModule name="AdapterLoginModule">
<className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
</loginModule>
</loginModules>
答案 0 :(得分:1)
connectas enduser应该在getsecretdata上设置,而不是在authenticate上设置。