Forums

Home » Liferay Portal » English » 2. Using Liferay » General

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Subhash S Chandran
Liferay session timeout change
June 24, 2009 12:35 AM
Answer

Subhash S Chandran

Rank: New Member

Posts: 13

Join Date: August 28, 2008

Recent Posts

We changed the timeout value in web.xml from 30 to 43200. Now we are getting this message every one minute, and Liferay logs me out after that (if I don't extend the session). This happens in Firefox 3.0.3 in Linux environment when using Liferay 5.1.2. Same instance tested in IE6 works fine.
Attachment

Attachments: session.png (8.7k)
Aarti Jain
RE: Liferay session timeout change
June 24, 2009 6:26 AM
Answer

Aarti Jain

Rank: Regular Member

Posts: 116

Join Date: September 2, 2008

Recent Posts

Hi,

You can try putting following properties in portal-ext.properties:

session.timeout=5
session.timeout.warning=0
session.timeout.auto.extend=true

This will automatically extend your session.

You will not face problem by changing the value in web.xml, if the value is small.


Regards,
Aarti
Ray Vin
Extends not working
July 1, 2009 7:23 AM
Answer

Ray Vin

Rank: New Member

Posts: 13

Join Date: October 14, 2008

Recent Posts

hi,

I have exactly the same configuration - :

1session.timeout=5
2session.timeout.warning=0
3session.timeout.auto.extend=true


I use the ext environment and put them into the portal-ext.properties. BUT if the user without closing the browser or something else waits longer than five minutes he must login again. I thought it is the last property that should handle this - automatically extending the session.

Working setup:
- Liferay 5.2.2 from SVN
- Build from ext-environment
- FireFox 3 / OS Windows Vista

Can you explain this behavior?

Thanks a lot.
Aarti Jain
RE: Extends not working
July 1, 2009 11:27 AM
Answer

Aarti Jain

Rank: Regular Member

Posts: 116

Join Date: September 2, 2008

Recent Posts

Hi,

This is working fine with liferay 5.1.2 and liferay 5.2.1. This type of behavior was never seen.

Never used it with liferay 5.2.2.

Regards,
Aarti Jain
Impetus Infotech Pvt. Ltd.
Noida
Ray Vin
RE: Extends not working
July 1, 2009 3:00 PM
Answer

Ray Vin

Rank: New Member

Posts: 13

Join Date: October 14, 2008

Recent Posts

thanks for the quick reply - I have no idea. after 5 min. the user must login again ?!? have you a hint where to look in the implementation to figure out if something changed?
Victor Zorin
RE: Extends not working
July 1, 2009 3:49 PM
Answer

Victor Zorin

Rank: Liferay Legend

Posts: 1176

Join Date: April 14, 2008

Recent Posts

Funny enough, but to make auto.extend working, you would have to make
session.timeout.warning=1

The auto extension function is written in
docroot/html/common/themes/session_timeout.jsp (session_timeout.jspf for 5.2.2)

Search for SESSION_TIMEOUT_EUTO_EXTEND.


We usually make session length of 8 hours and then autoextend
# 10hrs
session.timeout=600
session.timeout.warning=1
session.timeout.auto.extend=true
Ray Vin
RE: Extends not working
July 2, 2009 12:00 AM
Answer

Ray Vin

Rank: New Member

Posts: 13

Join Date: October 14, 2008

Recent Posts

Thanks a lot. Now it is working in the desired way. I am wondering about something - I set session.timeout.warning to 0 because I do not want that the user is informed about this sweet little box on the top of his browser. but with your described setting I've tested the box never appeared. so because of setting this property now to the value 1 nothing happened. fine for me. but not really transparent.

thx.
Victor Zorin
RE: Extends not working
July 2, 2009 12:34 AM
Answer

Victor Zorin

Rank: Liferay Legend

Posts: 1176

Join Date: April 14, 2008

Recent Posts

If auto.extend=true warning does not show.

In regards to why do we need timeout.warning setting, [without analyzing the code] I suspect the reason for it is fairly simple:

- we are dealing with client (browser) and server(webserver), and, abstractly speaking, both of them are "tracking" the timeout. (even if it is the same http session object)

- when client detects that session is about to expire, client makes background call '/c/portal/extend_session' and server is extending the session

If client makes such call exactly at a timeout expiration time, there is a good chance that the timeout would already expire on server end.

So the design by liferay implies that call 'c/portal/extend_session' shall be made earlier, i.e. at warning time, which in your case we set at 1 minute. At this time it is guaranteed that the call would be delivered to the webserver before the actual expiration time.
That's it.
Kyrre Myrbostad
RE: Extends not working
August 7, 2009 12:55 AM
Answer

Kyrre Myrbostad

Rank: Junior Member

Posts: 37

Join Date: January 21, 2009

Recent Posts

Thx for the tip, this fooled me also.

Maybe the text in portal.properties could be changed to something like:

#
# Set the auto-extend mode to true to avoid having to ask the user whether
# to extend the session or not. Instead it will be automatically extended.
# The purpose of this mode is to keep the session open as long as the user
# browser is open and with a portal page loaded. It is recommended to use
# this setting along with a smaller "session.timeout", such as 5 minutes for
# better performance.
#
# Note that session.timeout.warning must be set to 1 for this to work. No warnings will be issued at the client.
#
session.timeout.auto.extend=true
Jonas Yuan
RE: Extends not working
September 3, 2009 2:55 PM
Answer

Jonas Yuan

Rank: Liferay Master

Posts: 993

Join Date: April 26, 2007

Recent Posts

Hi Victor,

Thank you. This is very useful message, funny enough ...

1session.timeout=5
2session.timeout.warning=1
3session.timeout.auto.extend=true


Jonas Yuan

-----------------
Liferay Books

Liferay Portal 5.2 Systems Development
Liferay Portal Enterprise Intranets
Chris King
RE: Liferay session timeout change
September 11, 2009 12:06 PM
Answer

Chris King

Rank: New Member

Posts: 4

Join Date: October 14, 2008

Recent Posts

Is it possible to set session.timeout.auto.extend=true dynamically or for a subset of users or communities? We would like to have anyone with a 10.* IP address auto extend, but if anyone hits the site from outside the firewall hits the site, then we want them to timeout. We are currently running code that looks at the IP address of the user. Is there an API we could call to set this property?
Jonas Yuan
RE: Extends not working
October 14, 2009 6:44 AM
Answer

Jonas Yuan

Rank: Liferay Master

Posts: 993

Join Date: April 26, 2007

Recent Posts

The pre-condition is session.timeout.warning.

Only it (session.timeout.warning) is set as 1 as shown in following code, then
session.timeout.auto.extend and session.timeout.redirect.on.expire would get checked.

code in 5.3.
 1
 2[b]<c:if test="<%= sessionTimeoutWarning > 0 %>">[/b]
 3AUI().use(
 4'liferay-session',
 5function(A) {
 6Liferay.Session.init(
 7{
 8[b]autoExtend: <%= PropsValues.SESSION_TIMEOUT_AUTO_EXTEND %>,[/b]
 9timeout: <%= sessionTimeout %>,
10timeoutWarning: <%= sessionTimeoutWarning %>,
11[b]redirectOnExpire: <%= PropsValues.SESSION_TIMEOUT_REDIRECT_ON_EXPIRE %>[/b]
12}
13);
14}
15);
16</c:if>


Thanks

Jonas Yuan
-----------------
The Author of Liferay Books:
Liferay Portal 5.2 Systems Development
Liferay Portal Enterprise Intranets
Matus Ferko
RE: Extends not working
December 3, 2009 1:41 AM
Answer

Matus Ferko

Rank: Junior Member

Posts: 26

Join Date: June 5, 2009

Recent Posts

I am sorry for the following stupid question, but:

If I set
1session.timeout.warning=1
2session.timeout.auto.extend=true


does it mean the session never expire?
If yes there could be one additional property session.timeout.never. It would be less confusing emoticon
Pravin Bansal
RE: Extends not working
March 12, 2010 5:15 AM
Answer

Pravin Bansal

Rank: New Member

Posts: 4

Join Date: March 12, 2010

Recent Posts

Guys be careful though, while updating your portal-ext.properties.
Any settings written ext properties will not take effect as long as there is a session time out entry in web.xml (of root in tomcat) clean it before you add any session entries to take effect in your portal-ext properties..
Cheer's
Matus Ferko
RE: Extends not working
April 19, 2010 3:26 AM
Answer

Matus Ferko

Rank: New Member

Posts: 1

Join Date: March 3, 2010

Recent Posts

There is following configuration in web.xml file in portal sources:
1<session-config>
2    <session-timeout>30</session-timeout>
3</session-config>


Do I have to delete it, to make my configuration from portlet-ext.properties working? If yes it means that value from portal-ext.properties will never take effect. ?!
Pravin Bansal
RE: Extends not working
May 25, 2010 4:27 AM
Answer

Pravin Bansal

Rank: New Member

Posts: 4

Join Date: March 12, 2010

Recent Posts

Hi Matus,

Certainly you need to delete entries
<session-config>
<session-timeout>30</session-timeout>
</session-config>
from web.xml in order ext properties to take effect for session time out.
Please find me for any further questions.

Thank you,
Pravin
sandhya shendre
RE: Extends not working
January 23, 2011 10:26 PM
Answer

sandhya shendre

Rank: New Member

Posts: 5

Join Date: January 21, 2011

Recent Posts

Hi All,

I have set the session-timeout as 30 min in tomcat\conf\web.xml file and 65 min in root\web-inf\web.xml. Which session-timeout value will be taken in consideration?

I'm getting time out message after 30 min.



Regards,
Sandhya Shendre
Fateh Alchhabi
RE: Extends not working
January 24, 2011 4:14 AM
Answer

Fateh Alchhabi

Rank: Junior Member

Posts: 58

Join Date: December 1, 2010

Recent Posts

Hi sandhya shendre
regarding to your Question :when you add the 65 values in "root\web-inf\web.xml"

This value is always overridden by the value set in tomcat\conf\web.xml under the folder $PORTAL_WEB_INF_HOME
Tor Iver Wilhelmsen
RE: Extends not working
February 14, 2011 1:14 AM
Answer

Tor Iver Wilhelmsen

Rank: Junior Member

Posts: 60

Join Date: December 3, 2008

Recent Posts

Matus Ferko:
does it mean the session never expire?

No, it means that Javascript will be used to refresh the session via "invisible" calls to the web server. This will continue until the browser window (or tab?) showing the site is closed.
Koen Vermeulen
RE: Extends not working
March 19, 2013 5:22 AM
Answer

Koen Vermeulen

Rank: New Member

Posts: 13

Join Date: February 16, 2010

Recent Posts

Im trying this in 6.1.20 EE

portal-ext.properties:
session.timeout=1
session.timeout.warning=0

I also changed the entry in web.xml to a session timeout of 1

The warning doesnt come up - But the session doenst get expired after 1 minute.
If i take take away the session.timeout.warning property then it does get expired after one minute.

anyone seen this same problem?
Vijay Chandra
RE: Extends not working
April 18, 2013 2:26 AM
Answer

Vijay Chandra

Rank: New Member

Posts: 8

Join Date: April 4, 2013

Recent Posts

Thanks Pravin to u n u r post ... from past 5 to 6 hrs i was looking fr the solution of how to give user define session time out... recently we migrated to 6.1 from 6.0 ... i was working on with portal-ext.properties by changing the values of session time out .. but it was not effecting ... following u r suggestion i went to web.xml file in
Liferay\bundles\liferay-portal-6.0.6\tomcat-6.0.29\webapps\ROOT\WEB-INF\web.xml and commented out this below lines, for default values of session time out

<session-config>
<session-timeout>30</session-timeout>
</session-config>
and it worked like butter ... thanks man 1ce again ... emoticon
Ripal thakkar
RE: Extends not working
November 11, 2013 5:31 AM
Answer

Ripal thakkar

Rank: New Member

Posts: 8

Join Date: June 29, 2011

Recent Posts

Hi,

did you get any solution on this?

Thanks,
Ripal
Ripal thakkar
RE: Extends not working
November 11, 2013 6:08 AM
Answer

Ripal thakkar

Rank: New Member

Posts: 8

Join Date: June 29, 2011

Recent Posts

I got it...

In the session_timeout.jsp, liferay checks if sessionTimeoutWarning is greater than 0 (<c:if test="<%= sessionTimeoutWarning > 0 %>">) then only it calls a liferay.session function which takes care for session expiration and all.

By removing this condition in hook , session is expiring.

Regards,
Ripal Thakkar