[Grok-dev] Global Cross-App User Authentication

Christian Klinger cklinger at novareto.de
Thu Aug 16 14:29:01 UTC 2012


Hi Matt,

i think you have to create your different Plugins as GlobalUtility.
If you instanciate your app you can register your PAU with the names of 
your Plugins. Something like this:


def setup_pau(PAU):
     PAU.authenticatorPlugins = ('principals', )
     PAU.credentialsPlugins = ("cookies",
         "Zope Realm Basic-Auth", "No Challenge if Authenticated")


class Uvcsite(grok.Application, grok.Container):

     grok.local_utility(PluggableAuthentication,
                        IAuthentication,
                        public=True,
                        setup=setup_pau)

Please ask if you need more details...

Christian


Matt Rutherford schrieb:
> Hi guys, after a break away I now have time to resume my Grok project
> once more.
>
> In my project I am creating multiple apps (but only a single instance of
> each) and I would like to share user information between apps - i.e. if
> a user registers on one of these apps they can also use the same login
> details on another.
>
> Can the GlobalUtility class handle such an arrangement?
>
> The way I'd see it to keep things clean I would be looking to create a
> separate authenticator app that has SessionCredentialsPlugin and
> IAuthenticatorPlugin adapters implemented and both registered as
> GlobalUtility.
>
> Could I then use these from the other apps and if so how?
>
> cheers
>
> Matt
>
> _______________________________________________
> Grok-dev mailing list
> Grok-dev at zope.org
> https://mail.zope.org/mailman/listinfo/grok-dev



More information about the Grok-dev mailing list