[Grok-dev] login event and subscribe to
Jens Adner
j.adner at fh-sm.de
Tue Jun 9 09:49:57 EDT 2009
After changing the code to "IAuthenticatedPrincipalCreated", no results.
This event is initiating every view too.
I want write some infos to a mysql database as result of auth event:
uid = principal.id.split('.')[-1]
utils.logme("myapp","login",uid,"ip address")
Currently, every browser request writes the data.
Best regards
Jens
Sebastian Ware schrieb:
> I think you could use the event [IAuthenticatedPrincipalCreated]. Look
> in [zope.app.authentication], the README.txt shares the following:
>
>
> Authenticated Principal Creates Events
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> We can verify that the appropriate event was published::
>
> >>> [event] = getEvents(interfaces.IAuthenticatedPrincipalCreated)
> >>> event.principal is principal
> True
> >>> event.info
> PrincipalInfo('bob')
> >>> event.request is request
> True
>
> The info object has the id, title, and description of the principal.
> The info
> object is also generated by the authenticator plugin, so the plugin may
> itself have provided additional information on the info object::
>
> >>> event.info.title
> 'Bob'
> >>> event.info.id # does not include pau prefix
> 'bob'
> >>> event.info.description
> ''
>
>
> Mvh Sebastian
>
> 9 jun 2009 kl. 13.50 skrev Jens Adner:
>
>> Hello,
>>
>> I've got a question about the event "IPrincipalCreated".
>>
>> In my app, I use this event for putting a role to a principal:
>>
>> @grok.subscribe(IPrincipalCreated)
>> def update_principal_info_from_ldap(event):
>> principal = event.principal
>> ...
>> prm.assignRoleToPrincipal("adminrole", principal.id)
>>
>> All works fine.
>>
>> But this event is fireing up for every grok view. I need an event for
>> saving some data (login time, logout time, etc.) only for the first
>> successful auth of the user.
>>
>> I don't understand why the principal is creating for every view again
>> and again or why the event "knock on my door".
>>
>> Has anyone some hints? Is there another event I could use for logging
>> user infos at login and logout?
>>
>> Thanks
>> Jens
>>
>>
>>
>> --
>> ++++++++ Jens Adner IuK-Zentrum Fachhochschule Schmalkalden +++++++++
>> ++++++++ Fon: +49 3683688 9201 Fax: +49 3683688 989201 +++++++++
>> _______________________________________________
>> Grok-dev mailing list
>> Grok-dev at zope.org
>> http://mail.zope.org/mailman/listinfo/grok-dev
>
--
++++++++ Jens Adner IuK-Zentrum Fachhochschule Schmalkalden +++++++++
++++++++ Fon: +49 3683688 9201 Fax: +49 3683688 989201 +++++++++
More information about the Grok-dev
mailing list