登录时出现以下错误 无法在领域“AdapterAuthRealm”中更改已登录用户的身份。应用程序必须先注销。
FWLSE0101E:由以下引起:java.lang.IllegalStateException:无法在域“AdapterAuthRealm”中更改已登录用户的标识。应用程序必须先注销。
我的代码如下
Adapter.js
function submitAuthentication(username, password){
serversession = storeSession(username);
if (username!=""){
var userIdentity = {
userId: username,
displayName: username,
attributes: {
foo: "bar"
}
};
WL.Server.setActiveUser("AdapterAuthRealm", userIdentity);
return {
authRequired: false
};
}
return onAuthRequired(null, "Invalid login credentials");
}
function onLogout(){
WL.Server.setActiveUser("AdapterAuthRealm", null);
WL.Logger.debug("Logged out");
}
客户端
WL.Client.logout('AdapterAuthRealm',{onSuccess:WL.Client.reloadApp});
答案 0 :(得分:1)
在:
WL.Server.setActiveUser("AdapterAuthRealm", userIdentity);
添加:
WL.Server.setActiveUser("AdapterAuthRealm", null);
这将确保您在登录用户之前有一个干净的平板。
最终结果是:
function submitAuthentication(username, password) {
serversession = storeSession(username);
if (username !== "") {
var userIdentity = {
userId: username,
displayName: username,
attributes: {
foo: "bar"
}
};
WL.Server.setActiveUser("AdapterAuthRealm", null);
WL.Server.setActiveUser("AdapterAuthRealm", userIdentity);
return {
authRequired: false
};
}
return onAuthRequired(null, "Invalid login credentials");
}