Hi All,
I wish to implement session timeout when user left idle on my application, how can I achieve that?As far as I know, if 'Remember Me' is ticked, the application will not log out even the session ends.
Hi Gwen,
To change the timeout in the factory, you will need the the component Factory Configuration and to follow the steps explained in this post by Paulo Ribeiro.
Hope it helps.
Cheers,
João
Hi João,What if I only want this implementation apply to one application only? Because if I configure in Factory Configuration will affect other applications in the environment.Please correct me if I am saying it incorrect.
Thanks.
You are right indeed. Since most of the times, the idea is to change at a factory level, I proposed the Factory Configuration which affects the whole factory.
If you want to control the timeout for an application only, you have the Browser Session Timeout component or if you prefer to do it yourself, it is explained in this post what you need to do.
Hi João,Thanks for your information! I will try it out if it is workable for me :D
Hi João, Sorry for late respond.I have tried the solution today. It works for me but my sequence of implementing the logic had gotten me in an infinite loop.
My question currently is how do I check if the user current session had been idle for 20 minutes?
My sequence of logic currently are as below
1. Stores user userID, sessionID, GUID, and user login Date/Time in an entity called UserSession when user login. 2. OnBeginWebRequest, I GetSessionTimeOut and check if it has exceed the system default timeout. If Yes, it will perform ClearSession and feedback message.
When I debug, I only found that this will got me in an infinite loop.
Appreciate if you could guide me.
Thank you.
Cheers,Gwen.
I took a look at your file, and you just need to set the SessionTimeout on the OnSessionStart (in the example 5 minutes):
If you do that, once the user is 5 minutes "absent", he will be automatically logged out and redirected to the Login, if he has not chose the Remember Me option when he logs in:
If you want to force the user to logout in absence, you can remove the Remember me option from the screen and set it to False on the User_Login action:
Hi João,
Thanks for the advise and guidance! It worked if I set 'RememberLogin' to False.
One quick question for my curiosity, if I want to maintain the 'RememberLogin' option and force user to logout in absence, is there other approach to achieve that?
The remember login actually means use persistent login, you can read more here.
The credentials are saved for your next login or not depending on your browser settings, not related to this option although the label might lead in that direction.
The article is very helpful and helps me to understand.
Thank you!
You can create one timer with condition for logout session from one module or application.
Thanks,
Samiksha
also try the below link:
https://www.outsystems.com/forums/discussion/34866/factory-configuration-how-to-change-the-session-timeout-in-factory-configuratio/