[Zope-PTK] SQLMember portal error
Phillip J. Eby
pje@telecommunity.com
Thu, 06 Apr 2000 19:22:31 -0500
As it happens, we've done the same fix, except for the bit I've left below.
I'm not sure what the purpose of setting the _v__marker__ on the user
during the forbiddenPage call is for, since AUTHENTICATED_USER is normally
'LoggingInUser' when displaying ForbiddenPage, and 'user' is the variable
which contains the authenticated user. It might be useful to reverse this
convention, I suppose, but I'm not sure what for.
At 09:16 AM 4/6/00 -0700, Nick Garcia wrote:
>
>Here's a cvs diff with the changes I made to the LoginManager. I'll
>send my sqlUserSource in private email to everyone who requested it (so
>as to not clutter the list).
>
>Index: LoginManager.py
>===================================================================
>RCS file: /cvs-repository/ZopePTK/LoginManager/LoginManager.py,v
>retrieving revision 1.5
>diff -u -b -r1.5 LoginManager.py
>@@ -212,12 +213,17 @@
>
> if user is not None:
> # We got a user, check him out
>+
> user=getattr(user,'aq_base',user).__of__(self)
> if user.allowed(parent, roles): return user
>
> # Give the app a chance to tell the user he's
>logged
> # in, but not allowed
>+
> if hasattr(self,'forbiddenPage'):
>+ # Keep the person the same. -Scott
>+ user._v__marker__ = _marker
>+ request['AUTHENTICATED_USER'] = user
> self.forbiddenPage(self, request, user=user,
> needroles=roles,
>userroles=user.getRoles())