Кэширование базовой аутентификации адаптера Worklight?

У меня возникла проблема с базовой проверкой подлинности с помощью адаптера Worklight. Всякий раз, когда я аутентифицируюсь по URL-адресу REST, он аутентифицируется нормально. Однако при проверке подлинности создается сеанс на сервере Worklight.

Пример звонка

function getTaskList(username,password) {

    var input = {
        method : 'post',
        returnedContentType : 'json',
        path : 'rest/url',
        headers: {
            'Authorization': 'Basic '+base64Encode(username+':'+password),
        }   
    };

    return WL.Server.invokeHttp(input);
}

Всякий раз, когда я пытаюсь войти с другого устройства, сервер Worklight считает, что я уже вошел в систему. Можно ли отключить поддержку сеансов на сервере Worklight или запретить кэширование? Я хочу каждый раз аутентифицироваться по URL-адресу REST. Как это возможно?


person Joe Wilson    schedule 12.02.2013    source источник


Ответы (1)


в элемент <procedure> XML-файла адаптера следует добавить connectAs="endUser". Соединение с серверной частью будет создано с идентификатором пользователя.

Извините, я не понял вашего вопроса.

Для аутентификации каждого время, что вам нужно сделать, это connectionPolicy в XML-файле адаптера, вам нужно изменить свой атрибут cookiePolicy на IGNORE_COOKIES

<connectionPolicy xsi:type="http:HTTPConnectionPolicyType" cookiePolicy="IGNORE_COOKIES" maxRedirects="int"></connectionPolicy>
person Raanan Avidor    schedule 12.02.2013
comment
Это не работает. Worklight Server хранит JSESSIONID для первого пользователя. Когда выдается еще один getTaskList('user2','password2'), Worklight Server по-прежнему возвращает задачи (в формате JSON) от исходного пользователя. Адаптер был повторно развернут в Worklight Studio, чтобы убедиться. Все вызовы исходят из процедуры RunAs-›Worklight. - person Joe Wilson; 13.02.2013