Hi How do I end a session after a time period? AL
Hmm good question, I never did find a way to do it, what I did was to time
the session from within @login_required decorator
Example below extracted from one of my apps, ymmv...
def login_required(f):
@wraps(f)
def decorated_function(*args, **kwargs):
start_time = session.get('session_time', None)
if start_time is None:
start_time = datetime.datetime.now()
session['session_time'] = start_time
elapsed = datetime.datetime.now() - start_time
if datetime.timedelta(0, 120, 0) < elapsed:
return redirect('/auth/login')
if session.get('authenticated', False) is False:
session['next_url'] = request.url
return redirect('/auth/login')
return f(*args, **kwargs)
return decorated_function
#
------------------------------------------------------------------------------
On Tue, Nov 2, 2010 at 12:54 PM, Alasdair Macmillan <al@atomised.coop>wrote:
> Hi
>
> How do I end a session after a time period?
>
> AL
>
Hi , I am quite new to this, but wont this handle the session lifetime http://flask.pocoo.org/docs/api/#flask.Flask.permanent_session_lifetime <http://flask.pocoo.org/docs/api/#flask.Flask.permanent_session_lifetime> Alice! On Tue, Nov 2, 2010 at 5:57 PM, Mayowa Akinyemi <mayowa@gmail.com> wrote: > Hmm good question, I never did find a way to do it, what I did was to time > the session from within @login_required decorator > Example below extracted from one of my apps, ymmv... > > def login_required(f): > @wraps(f) > def decorated_function(*args, **kwargs): > > start_time = session.get('session_time', None) > if start_time is None: > start_time = datetime.datetime.now() > session['session_time'] = start_time > > elapsed = datetime.datetime.now() - start_time > if datetime.timedelta(0, 120, 0) < elapsed: > return redirect('/auth/login') > > if session.get('authenticated', False) is False: > session['next_url'] = request.url > return redirect('/auth/login') > return f(*args, **kwargs) > return decorated_function > # > ------------------------------------------------------------------------------ > > > On Tue, Nov 2, 2010 at 12:54 PM, Alasdair Macmillan <al@atomised.coop>wrote: > >> Hi >> >> How do I end a session after a time period? >> >> AL >> > >
As far as I believe you can set its value in the config file as at this link. http://flask.pocoo.org/docs/config/#builtin-configuration-values and its values could be defined as here:- http://docs.python.org/dev/library/datetime.html#datetime.timedelta I believe this should do the job On Tue, Nov 2, 2010 at 7:08 PM, alice ni <alice.ni19@gmail.com> wrote: > Hi , I am quite new to this, but wont this handle the session lifetime > > http://flask.pocoo.org/docs/api/#flask.Flask.permanent_session_lifetime > > <http://flask.pocoo.org/docs/api/#flask.Flask.permanent_session_lifetime> > Alice! > > > On Tue, Nov 2, 2010 at 5:57 PM, Mayowa Akinyemi <mayowa@gmail.com> wrote: > >> Hmm good question, I never did find a way to do it, what I did was to time >> the session from within @login_required decorator >> Example below extracted from one of my apps, ymmv... >> >> def login_required(f): >> @wraps(f) >> def decorated_function(*args, **kwargs): >> >> start_time = session.get('session_time', None) >> if start_time is None: >> start_time = datetime.datetime.now() >> session['session_time'] = start_time >> >> elapsed = datetime.datetime.now() - start_time >> if datetime.timedelta(0, 120, 0) < elapsed: >> return redirect('/auth/login') >> >> if session.get('authenticated', False) is False: >> session['next_url'] = request.url >> return redirect('/auth/login') >> return f(*args, **kwargs) >> return decorated_function >> # >> ------------------------------------------------------------------------------ >> >> >> On Tue, Nov 2, 2010 at 12:54 PM, Alasdair Macmillan <al@atomised.coop>wrote: >> >>> Hi >>> >>> How do I end a session after a time period? >>> >>> AL >>> >> >> >