[Zope3-Users] Pluggable Authentication and SessionCredentialsPlugin

Darryl Cousins darryl at darrylcousins.net.nz
Sat Jul 16 00:07:33 EDT 2005


Hi Stephan,

Thanks for the reply. My purpose was to be able to test for an
authenticated user. My solution was to add a subclass of BrowserView
with the following:

    def isLoggedIn(self):

        dummy = self.request.principal

        pau = getUtility(IAuthentication,'',self.context)
        principal = pau.getPrincipal(dummy.id)

        if getattr(principal,'id',None) == 'zope.anybody':
            return None
        else:
            return True

this is avalaible in the template as context/@@is_logged_in.

So much for my solution, is there a better way. :-)

Best regards,
Darryl Cousins



On Fri, 2005-07-15 at 14:08 -0400, Stephan Richter wrote:
> On Thursday 23 June 2005 21:52, Darryl Cousins wrote:
> > and as such has **no getLogin method**.
> 
> This is correct. zope.security.interfaces.IPrincipal does nto specify a 
> "getLogin()" method.
> 
> > I would have expected it to provide InternalPrincipal as it appears to
> > in default/PluggableAuthenticatin/principals/testuser/@@introspector
> 
> No, the InternalPrincipal is only the data container. A principal is always 
> generated for each request. This is a new paradigm in the authentication 
> code.
> 
> > Any suggestions?
> 
> Why do you need getLogin? The id or title of the principal are commonly 
> available. The login name is usually protected information.
> 
> Regards,
> Stephan
-- 
Darryl Cousins <darryl at darrylcousins.net.nz>
Tree Fern Web Services
106 Sandes St
Thames
New Zealand
**64 (0)7 868 3139



More information about the Zope3-users mailing list