On 5/26/09 4:07 AM, Chris McDonough wrote:
> On 5/26/09 3:52 AM, Wichert Akkerman wrote:
>> Previously Chris McDonough wrote:
>>>        def remember(self, principal, token):
>>>            """ Return a set of headers suitable for 'remembering' the
>>>            principal on subsequent requests """
>>>
>>>        def forget():
>>>            """ Return a set of headers suitable for 'forgetting' the
>>>            current user on subsequent requests"""
>> It would be nice if there was also a handy utility function to apply
>> those headers to a response. I suspect that code is often repeated now.

Oops, missed this one...

This might mean the difference between:

from repoze.bfg.security import logout

def someview(context, request):
     response = render_template_to_response('some.pt')
     logout(response)
     return response

vs.

from repoze.bfg.security import forget

def someview(context, request):
     response = render_template_to_response('some.pt')
     headers = forget()
     response.headerlist.extend(headers)
     return response

and...

from repoze.bfg.security import login

def someview(context, request):
     response = render_template_to_response('some.pt')
     login(response, 'fred')
     return response

vs.

from repoze.bfg.security import remember

def someview(context, request):
     response = render_template_to_response('some.pt')
     headers = remember('fred')
     response.headerlist.extend(headers)
     return response

But since BFG doesn't have a global response object like Pylons does, it's not 
possible to do:

def someview(context, request):
     logout()
     return render_template_to_response('some.pt')

.. if that's what you mean.

- C
_______________________________________________
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev

Reply via email to