Worklight为所有用户提供相同的会话

时间:2013-12-08 06:49:41

标签: session-cookies ibm-mobilefirst basic-authentication worklight-adapters

我遇到了与用户会话相关的问题。我正在使用基于适配器的身份验证,我用它来验证用户是否有来自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>

1 个答案:

答案 0 :(得分:1)

connectas enduser应该在getsecretdata上设置,而不是在authenticate上设置。