未知领域[myRealm]。为key返回null:isUserAuthenticated

时间:2014-05-11 14:21:04

标签: authentication ibm-mobilefirst

我正在使用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定义有问题吗? 有没有更好的方法来检查用户是否经过身份验证?

1 个答案:

答案 0 :(得分:2)

您是否先致电WL.Client.updateUserInfo();

来自文档:

  

updateUserInfo(选项)

     

此方法在异常后刷新用户数据。使用此方法   当应用程序在调用之后收到异常时   invokeProcedure()方法。该方法刷新数据   以下方法:

     

WL.Client.getUserName(境界)
  WL.Client.getLoginName(境界)
  WL.Client.isUserAuthenticated(境界)

     

发生此类异常后,您可以验证用户身份验证状态   首先调用此函数,然后调用isUserAuthenticated()   方法

     

参数:options - 可选。标准选项对象。