[Grok-dev] megrok.login: substituting authenticator
asouzaleite at gmx.de
Tue Sep 7 06:06:50 EDT 2010
I hadn't read the 'megrok.login' documentation attentively enough,
sorry, I'm doing it now.
I'm looking for a solution where I can keep using as much as possible
of 'megrok.login', just replacing some sort of megrok.login-default
'athenticateCredentials' method somewhere by my own custom
'authenticateCredentials' method and leaving the rest untouched as long
as the overall result is still logically consistent. Wait a little bit
till I read more of the megrok.login code.
Thanks for megrok.login, which I've been using sucessfully, and for the
support in the mailinglist.
Uli Fouquet wrote:
> Hi Aroldo,
> Aroldo Souza-Leite wrote:
>> I'm trying to substitute the
>> 'authplugins.PrincipalRegistryAuthenticator' in 'megrok.loging' by
>> another authenticator that uses an external database of users. I
>> understand I have to model a class that implements
>> 'IAuthenticatorPlugin'. But where do I tell 'megrok.login' to use the my
>> custom authenticator?
> You have to write your own PAU setup and register it using
> `megrok.login.setup()`. For this you need an own setup function, roughly
> like this::
> from zope.pluggableauth.plugins.session import SessionCredentialsPlugin
> def customPAUSetup(site, pau, viewname=None, strict=None,
> """Setup our own PAU.
> # Assuming your authenticator is registered as a named global
> # utility 'My custom authenticator plugin'
> pau.authenticatorPlugins = ('My custom authenticator plugin', )
> pau['custom_session'] = session = SessionCredentialsPlugin()
> pau.credentialsPlugins = ('No Challenge if Authenticated',
> and then register this setup like this::
> import grok
> import megrok.login
> class CustomSetupApp(grok.Application, grok.Container):
> If you create a new application, the new PAU will be active.
> A more elaborate example of the setup is part of the docs in
> Naturally, if you do so much things yourself, you might be better off
> dropping megrok.login and using the pluggableauth stuff directly.
> Best regards,
More information about the Grok-dev