我试图允许匿名用户搜索plone会员。我将它设置为可以将匿名角色设置为拥有“管理用户”权限,当然这不合适。 有更详细的许可吗?“列表门户成员”不起作用。我需要允许匿名搜索,因为我们的Intranet用户通常不会进行身份验证。我们的plone成员来自LDAP(自定义字段)(电话,位置,注册)。这是用plone.app.ldap完成的。我使用的Plone-4.0和PlonePAS-4.0.1-py2.6允许匿名用户搜索plone会员
这是什么触发了一些异常,并打开login_form为匿名用户
member_search_results.pt
<metal:main fill-slot="main"
tal:define="search_view here/@@pas_search;
listing_allowed python: checkPermission('List portal members', here);
results python:listing_allowed and search_view.searchUsersByRequest(request, sort_by='fullname') or [];
如果我将listing_allowed设置为False,模板正常呈现,通知用户它无法执行搜索,因为它没有权限。但是,如果listing_allowed为True,它将返回searchUsersByRequest返回login_form。
已经看着PlonePAS configure.zcml来查看权限,但这里也没有错。试图将权限更改zope2.Public和zope.Public,但没有成功
<browser:page
for="*"
name="pas_search"
class=".search.PASSearchView"
permission="zope2.View"
allowed_interface="Products.PlonePAS.interfaces.browser.IPASSearchView"/>
任何帮助表示赞赏。 谢谢!
谢谢vangheem。其实我做错了什么。我在模板中调用了一个** getMemberData()**,并且此方法受到保护。这是触发验证请求。正确的使用方法是公开的getMemberInfo()。但它没有帮助我,因为它返回一个基本属性的字典,我需要LDAP属性。毕竟,我遵循了你的建议并实施了我自己的观点。现在一切正常。谢谢。 – 2013-05-14 13:09:22