librelist archives

« back to archive

Timed sessions

Timed sessions

From:
Alasdair Macmillan
Date:
2010-11-02 @ 11:54
Hi 

How do I end a session after a time period?

AL

Re: [flask] Timed sessions

From:
Mayowa Akinyemi
Date:
2010-11-02 @ 12:27
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
>

Re: [flask] Timed sessions

From:
alice ni
Date:
2010-11-02 @ 13:38
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
>>
>
>

Re: [flask] Timed sessions

From:
alice ni
Date:
2010-11-02 @ 13:43
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
>>>
>>
>>
>