[Zope3-Users] Re: request/principal and PAU users
Riccardo Tonon
riccardo.tonon at gmail.com
Wed Jul 12 07:09:21 EDT 2006
It seems to work adding this to overrides.zcml
<content class="zope.app.authentication.principalfolder.Principal">
<implements
interface="zope.security.interfaces.IPrincipal"
/>
<require
permission="zope.Public"
interface="zope.security.interfaces.IPrincipal"/>
</content>
Any hint?
Riccardo
Riccardo Tonon wrote:
> Hi,
>
> I've implemented a site that uses both Principal (for external users)and
> PAU (for intranet users).
>
> It use a customized skin and in the template.pt file I want to print out
> the username.
>
> The following line works if I'm connected as an external user (defined
> in principals.zcml)
>
> <b tal:context="request/principal/title">User</b>
>
> but it raise an error when I'm connected as a PAU user.
>
> ForbiddenAttribute: ('id', Principal(u'ldap.tonon'))
>
>
> I attached the complete Traceback error I get.
>
> Please, does anyone have a solution?
>
> Thank you,
> Riccardo
>
>
>
>
>
>
>
>
> ------------------------------------------------------------------------
>
> Traceback (most recent call last):
> File "D:\home\Zope-3.2.1\src\zope\publisher\publish.py", line 133, in publish
> result = publication.callObject(request, obj)
> File "D:\home\Zope-3.2.1\src\zope\app\publication\zopepublication.py", line 161, in callObject
> return mapply(ob, request.getPositionalArguments(), request)
> File "D:\home\Zope-3.2.1\src\zope\publisher\publish.py", line 108, in mapply
> return debug_call(obj, args)
> - __traceback_info__: <bound method ZPTPageEval.index of <zope.app.publisher.browser.viewmeta.ZPTPageEval object at 0
> File "D:\home\Zope-3.2.1\src\zope\publisher\publish.py", line 114, in debug_call
> return obj(*args)
> File "D:\home\Zope-3.2.1\src\zope\app\zptpage\browser\zptpage.py", line 29, in index
> return template.render(request, **kw)
> File "D:\home\Zope-3.2.1\src\zope\app\zptpage\zptpage.py", line 92, in render
> sourceAnnotations=debug_flags.sourceAnnotations)
> File "D:\home\Zope-3.2.1\src\zope\pagetemplate\pagetemplate.py", line 117, in pt_render
> strictinsert=0, sourceAnnotations=sourceAnnotations)()
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 276, in __call__
> self.interpret(self.program)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 351, in interpret
> handlers[opcode](self, args)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 907, in do_useMacro
> self.interpret(macro)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 351, in interpret
> handlers[opcode](self, args)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 537, in do_optTag_tal
> self.do_optTag(stuff)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 522, in do_optTag
> return self.no_tag(start, program)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 517, in no_tag
> self.interpret(program)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 351, in interpret
> handlers[opcode](self, args)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 966, in do_defineSlot
> self.interpret(slot)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 351, in interpret
> handlers[opcode](self, args)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 907, in do_useMacro
> self.interpret(macro)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 351, in interpret
> handlers[opcode](self, args)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 537, in do_optTag_tal
> self.do_optTag(stuff)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 522, in do_optTag
> return self.no_tag(start, program)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 517, in no_tag
> self.interpret(program)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 351, in interpret
> handlers[opcode](self, args)
> File "D:\home\Zope-3.2.1\src\zope\tal\talinterpreter.py", line 838, in do_loop_tal
> iterator = self.engine.setRepeat(name, expr)
> File "D:\home\Zope-3.2.1\src\zope\tales\tales.py", line 682, in setRepeat
> expr = self.evaluate(expr)
> File "D:\home\Zope-3.2.1\src\zope\tales\tales.py", line 696, in evaluate
> return expression(self)
> - d:\home\riccardo\projects\SrSite\lib\python\srlabs\browser\skin\template.pt
> - Line 22, Column 12
> - Expression: <PathExpr standard:u'context/@@view_get_menu/zmi_actions'>
> - Names:
> {'args': (),
> 'container': <zope.app.folder.folder.Folder object at 0x03227DF0>,
> 'context': <zope.app.folder.folder.Folder object at 0x03227DF0>,
> 'default': <object object at 0x0099C548>,
> 'loop': {},
> 'nothing': None,
> 'options': {},
> 'repeat': {},
> 'request': <zope.publisher.browser.BrowserRequest instance URL=http://metropolis/index.html>,
> 'template': <zope.app.zptpage.zptpage.ZPTPage object at 0x038F9DF0>,
> 'usage': <zope.pagetemplate.pagetemplate.TemplateUsage object at 0x03AD1830>}
> File "D:\home\Zope-3.2.1\src\zope\tales\expressions.py", line 205, in __call__
> return self._eval(econtext)
> File "D:\home\Zope-3.2.1\src\zope\tales\expressions.py", line 192, in _eval
> ob = self._subexprs[-1](econtext)
> File "D:\home\Zope-3.2.1\src\zope\tales\expressions.py", line 124, in _eval
> ob = self._traverser(ob, element, econtext)
> File "D:\home\Zope-3.2.1\src\zope\app\pagetemplate\engine.py", line 72, in trustedZopeTraverser
> request=getattr(econtext, 'request', None))
> File "D:\home\Zope-3.2.1\src\zope\app\traversing\adapters.py", line 124, in traverse
> curr = traversePathElement(curr, name, path, request=request)
> File "D:\home\Zope-3.2.1\src\zope\app\traversing\adapters.py", line 179, in traversePathElement
> return traversable.traverse(nm, further_path)
> - __traceback_info__: (<zope.app.publisher.browser.viewmeta.MenuAccessView object at 0x039DEE10>, 'zmi_actions')
> File "D:\home\Zope-3.2.1\src\zope\app\traversing\adapters.py", line 58, in traverse
> return subject[name]
> - __traceback_info__: (<zope.app.publisher.browser.viewmeta.MenuAccessView object at 0x039DEE10>, 'zmi_actions', [])
> File "D:\home\Zope-3.2.1\src\zope\app\publisher\browser\menu.py", line 193, in __getitem__
> return getMenu(menuId, self.context, self.request)
> File "D:\home\Zope-3.2.1\src\zope\app\publisher\browser\menu.py", line 177, in getMenu
> return menu.getMenuItems(object, request)
> File "D:\home\Zope-3.2.1\src\zope\app\publisher\browser\menu.py", line 54, in getMenuItems
> if item.available():
> File "D:\home\Zope-3.2.1\src\zope\app\publisher\browser\menu.py", line 132, in available
> modules = sys.modules,
> File "D:\home\Zope-3.2.1\src\zope\tales\expressions.py", line 268, in __call__
> return int(not econtext.evaluateBoolean(self._c))
> File "D:\home\Zope-3.2.1\src\zope\tales\tales.py", line 701, in evaluateBoolean
> return not not self.evaluate(expr)
> File "D:\home\Zope-3.2.1\src\zope\tales\tales.py", line 696, in evaluate
> return expression(self)
> - Expression: <PathExpr standard:u'context/@@principalLastTransactionIsUndo'>
> - Names:
> {'context': <zope.app.folder.folder.Folder object at 0x03227DF0>,
> 'default': <object object at 0x0099C548>,
> 'loop': {},
> 'nothing': None,
> 'repeat': {},
> 'request': <zope.publisher.browser.BrowserRequest instance URL=http://metropolis/index.html>}
> File "D:\home\Zope-3.2.1\src\zope\tales\expressions.py", line 205, in __call__
> return self._eval(econtext)
> File "D:\home\Zope-3.2.1\src\zope\tales\expressions.py", line 199, in _eval
> return ob()
> File "D:\home\Zope-3.2.1\src\zope\app\publisher\browser\viewmeta.py", line 435, in __call__
> return meth(*a, **k)
> File "D:\home\Zope-3.2.1\src\zope\app\undo\browser.py", line 34, in principalLastTransactionIsUndo
> last=1)
> File "D:\home\Zope-3.2.1\src\zope\app\undo\__init__.py", line 117, in getPrincipalTransactions
> return self._getUndoInfo(context, principal, first, last)
> File "D:\home\Zope-3.2.1\src\zope\app\undo\__init__.py", line 136, in _getUndoInfo
> specification.update({'user_name': path + ' ' + principal.id})
> ForbiddenAttribute: ('id', Principal(u'ldap.tonon'))
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Zope3-users mailing list
> Zope3-users at zope.org
> http://mail.zope.org/mailman/listinfo/zope3-users
More information about the Zope3-users
mailing list