IBM Worklight 6.1 - 无法在桌面浏览器网页环境中实现注销功能

时间:2014-03-04 16:54:28

标签: security browser ibm-mobilefirst

我正在尝试为Worklight应用实施注销功能。具体来说,是桌面浏览器网页环境。

我的authenticationConfig.xml如下:

<resource id="MyApp" securityTest="MyAppTest">
            <urlPatterns>/apps/services/www/MyApp/*</urlPatterns>
         </resource> 

<customSecurityTest name="MyAppTest">
            <test realm="MyAppRealm" isInternalUserID="true"/>
        </customSecurityTest>

<realm name="MyAppRealm" loginModule="MyAppLogin">
            <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className>
            <parameter name="login-page" value="login.html" />
            <onLoginUrl>/apps/services/www/MyApp/desktopbrowser/default/index.html</onLoginUrl>
</realm>

<loginModule name="MyAppLogin">
            <className> com.worklight.core.auth.ext.RDBMSLoginModule </className>
            <parameter name="dsJndiName" value="jdbc/myapp"/>
            <parameter name="principalsQuery">
            SELECT user_id, password, display_name FROM users WHERE user_id=?
            </parameter>
</loginModule>

到目前为止,我已尝试使用Worklight客户端API

WL.Client.logout("MyAppRealm", {onSuccess: WL.Client.reloadApp}); 
WL.Client.logout(null, {onSuccess: WL.Client.reloadApp});

但这不适用于“未定义领域”的错误。任何人都可以建议为什么我可能会看到“领域未定义”错误?

或者有一种不同的方式从我的应用程序注销用户(直接访问会话?)。

1 个答案:

答案 0 :(得分:0)

Worklight框架(com.worklight.core.auth.ext.RDBMSLoginModule)中不再存在您正在使用的登录模块。

有关如何使用登录模块的更多信息,请访问: http://www.ibm.com/developerworks/mobile/worklight/getting-started.html#security (查找基于表单的身份验证,基于适配器的身份验证以及自定义身份验证器和登录模块)。

你也可以看看这里: http://pic.dhe.ibm.com/infocenter/wrklight/v6r1m0/topic/com.ibm.worklight.dev.doc/dev/r_security_framework.html