Есть ли конкретная область, в которой я могу использовать WL.Server.SetActiveUser?

Я пытаюсь создать аутентификацию на основе адаптера в Worklight. Я добавил свой Realm, тест безопасности и модуль входа в файл authenticationConfig. Я попытался следовать модулям, предоставленным IBM. Я скопировал точный синтаксис и даже жестко закодированные значения для метода WL.Server.setActiveUser. Но я продолжаю получать ошибку. Есть ли определенная область, в которой я могу использовать этот метод? Кто-нибудь видит или знает, где моя ошибка?

Я продолжаю получать следующую ошибку:

LOG: Request [login] 
LOG: Request [/apps/services/api/GPC2/android/query] 
LOG: response [/apps/services/api/GPC2/android/query] success: /*-secure-
{"responseID":"1","isSuccessful":true,"resultSet REMOVED LINE THAT CONTAINED DB RESULTS FOR     SECURITY
[/apps/services/api/GPC2/android/query] exception. 
SCRIPT5007: Unable to get value of the property 'setActiveUser': object is null or undefined 

var lname= responseData.invocationResult.resultSet[0].somelastname;
var gpcid = responseData.invocationResult.resultSet[0].someid;
var fname = responseData.invocationResult.resultSet[0].somefname;
WL.Logger.debug("Login :: SUCCESS" + lname + " " + gpcid + " " + fname);  //this line does write the values to the log

//WL.Client.login("NotificationsRealm");
WL.Server.setActiveUser ("NotificationsRealm", {
userId: gpcid,
displayName: fname,
attributes: {
firstName: fname,
lastName : lname,
isUserAuthenticated: 1,
}
});

person Julie Beck    schedule 13.03.2013    source источник


Ответы (1)


Глядя на Документация API для WL.Server.setActiveUser должна быть такой:

WL.Server.setActiveUser ("ACMERealm", {
    userId: "38017840288",
    displayName: "John Doe",
    attributes: {
        "firstName": "John",
        "lastName": "Doe",
        "lastLogin": "2010-07-13 19:25:08.0 GMT",
    }
})

Похоже, вам не хватает двойных кавычек для атрибутов?

person Idan Adar    schedule 14.03.2013
comment
Я пробовал это с жестко закодированной строкой, и это тоже не работает. Srings заменяются переменными javascript, чтобы имя могло быть динамически заполнено из адаптера SQL. - person Julie Beck; 20.03.2013
comment
Я имею в виду firstName, lastName и lastLogin; вы пробовали как в примере? - person Idan Adar; 20.03.2013
comment
Идан, спасибо за ответ. Да, я пробовал это. Я считаю, что нашел свою проблему. Где-то еще в коде была синтаксическая ошибка, которая вызывала проблему. - person Julie Beck; 21.03.2013