У меня была такая же проблема, и я решил ее.
Основная идея состоит в том, чтобы переопределить файл session.js в ext-plugin и добавить дополнительный метод:
extendExternal: function() {
var instance = this;
if (instance != undefined) {
instance.extend();
}
}
также должен быть обновлен метод setCookie:
setCookie: function(status) {
var instance = this;
var currentTime = new Date().getTime();
var options = {
secure: A.UA.secure,
path: "/"
};
A.Cookie.set(instance._cookieKey, status || currentTime, options);
}
Чтобы использовать один и тот же путь к файлам cookie для каждой страницы.
И некоторые глобальные ajax-события могут быть использованы для «автоматического» вызова метода extendExternal:
AUI().use('event', function(A){
A.on('io:start', function(transactionid, arguments){
if (Liferay.Session._cookieKey != undefined && Liferay.Session._cookieKey != null) {
if (arguments != 'sessionExtend') {
Liferay.Session.extendExternal();
}
}
});
});
в этом случае метод расширения должен быть обновлен с помощью:
// added in order to differentiate session extend ajax calls and other ajax call, to avoid infinit loop
A.io.request(instance._sessionUrls.extend, {
arguments: 'sessionExtend'
});
Вы можете проверить решение здесь .