允许匿名用户搜索plone成员

允许匿名用户搜索plone成员,plone,Plone,我正在尝试允许匿名用户搜索plone成员。我成功地将匿名角色设置为具有“管理用户”权限,当然这是不合适的。对此是否有更具体的许可?列表门户成员不起作用。我需要允许匿名搜索,因为我们的内部网用户通常不进行身份验证。我们的plone成员来自LDAP,具有自定义字段电话、位置、注册。这是通过plone.app.ldap完成的。我正在使用Plone-4.0和PlonePAS-4.0.1-py2.6 这就是引发一些异常并为匿名用户打开登录表单的原因 成员搜索结果.pt <metal:main fil

我正在尝试允许匿名用户搜索plone成员。我成功地将匿名角色设置为具有“管理用户”权限,当然这是不合适的。对此是否有更具体的许可?列表门户成员不起作用。我需要允许匿名搜索,因为我们的内部网用户通常不进行身份验证。我们的plone成员来自LDAP,具有自定义字段电话、位置、注册。这是通过plone.app.ldap完成的。我正在使用Plone-4.0和PlonePAS-4.0.1-py2.6

这就是引发一些异常并为匿名用户打开登录表单的原因

成员搜索结果.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,模板将正常呈现,通知用户它无法执行搜索,因为它没有权限。但如果允许的列表为True,则返回登录表单,返回searchUsersByRequest

已经查看了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属性。毕竟,我听从了你的建议,实现了我自己的观点。现在一切都好了。谢谢