会话超时基于Liferay的社区/群组

时间:2014-03-14 11:04:02

标签: java session liferay liferay-6

我需要自定义有关会话超时的Liferay 6.0.5行为。 我在同一个Liferay实例上有3个社区,2个外联网和一个内联网 我希望为特定社区定义自定义超时(在Intranet上:无超时)。

我已经检查了session_timeout.jspf文件和session.js脚本,但我看不出如何自定义它以使其工作?

2 个答案:

答案 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。