我需要自定义有关会话超时的Liferay 6.0.5行为。 我在同一个Liferay实例上有3个社区,2个外联网和一个内联网 我希望为特定社区定义自定义超时(在Intranet上:无超时)。
我已经检查了session_timeout.jspf文件和session.js脚本,但我看不出如何自定义它以使其工作?
答案 0 :(得分:0)
您还可以查看/ROOT/WEB-INF/web.xml,以下部分:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
同样在portal-ext.properties中:
session.timeout=30
session.timeout.warning=1
session.timeout.auto.extend=false
session.timeout.redirect.on.expire=true
对于自定义处理程序,我会尝试修改\liferay-portal-6.0.5\tomcat-6.0.26\webapps\ROOT\html\common\themes\session_timeout.jspf
:
这样的事情:
<c:choose>
<c:when test="<%= themeDisplay.getScopeGroup().getName().equals("MyCustomCommunity_1") %>">
<aui:script use="liferay-session">
Liferay.Session.init(
{
autoExtend: false /*my custom value*/,
timeout: 5 /*my custom value*/,
timeoutWarning: 0 /*my custom value*/,
redirectOnExpire: '/web/guest/mycustompage1' /*my custom value*/
}
);
</aui:script>
</c:when>
<c:when test="<%= themeDisplay.getScopeGroup().getName().equals("MyCustomCommunity_2") %>">
<aui:script use="liferay-session">
Liferay.Session.init(
{
autoExtend: true /*my custom value*/,
timeout: 15 /*my custom value*/,
timeoutWarning: 1 /*my custom value*/,
redirectOnExpire: '/web/guest/mycustompage2' /*my custom value*/
}
);
</aui:script>
</c:when>
<c:otherwise>
<aui:script use="liferay-session">
Liferay.Session.init(
{
autoExtend: <%= PropsValues.SESSION_TIMEOUT_AUTO_EXTEND %>,
timeout: <%= sessionTimeout %>,
timeoutWarning: <%= sessionTimeoutWarning %>,
redirectOnExpire: <%= PropsValues.SESSION_TIMEOUT_REDIRECT_ON_EXPIRE %>
}
);
</aui:script>
</c:otherwise>
</c:choose>
答案 1 :(得分:0)
将
redirectOnExpire: '/web/guest/mycustompage1' /*my custom value*/
如果用户点击页面上的任何链接或按钮,或者在会话超时后自动重定向,则会重定向到指定的网址。在我的liferay应用程序中,我们在仪表板页面上托管了几个小部件,当用户单击任何小部件时,它会打开一个新选项卡,并显示与小部件相关的信息。当会话超时时,窗口小部件在新选项卡中打开,但页面被重定向到/ web / guest / home,这是所需的行为。但是,仪表板页面仍然保留,因为在会话超时后页面不会自动重定向到/ web / guest / home。如何在会话超时后自动将仪表板页面重定向到/ web / guest / home。