我正在使用IBM Worklight 6.1并尝试检查用户是否经过身份验证:
我在server/conf/authenticationConfig.xml
<realm name="myRealm" loginModule="myLoginModule">
<className>com.worklight.integration.auth.AdapterAuthenticator</className>
<parameter name="login-function" value="authentication.onAuthRequired" />
<parameter name="logout-function" value="authentication.onLogout" />
</realm>
及其登录模块
<loginModule name="myLoginModule">
<className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
</loginModule>
登录后,甚至在此之前,当我尝试检查用户是否经过身份验证时
WL.Client.isUserAuthenticated("myRealm")
我有以下回复
Unknown realm [myRealm]. null returned for key: isUserAuthenticated
有人对此有所了解吗? 我的Realm定义有问题吗? 有没有更好的方法来检查用户是否经过身份验证?
答案 0 :(得分:2)
您是否先致电WL.Client.updateUserInfo();
?
来自文档:
updateUserInfo(选项)
此方法在异常后刷新用户数据。使用此方法 当应用程序在调用之后收到异常时 invokeProcedure()方法。该方法刷新数据 以下方法:
WL.Client.getUserName(境界)
WL.Client.getLoginName(境界)
WL.Client.isUserAuthenticated(境界)发生此类异常后,您可以验证用户身份验证状态 首先调用此函数,然后调用isUserAuthenticated() 方法
参数:options - 可选。标准选项对象。