我正在尝试允许匿名用户搜索plone成员。我让它工作设置匿名角色具有“管理用户”权限,当然这是不合适的。 是否有更具体的权限?“列出门户网站成员”不起作用。我需要允许匿名搜索,因为我们的Intranet用户通常不进行身份验证。我们的plone成员来自LDAP,带有自定义字段(电话,位置,注册)。这是用plone.app.ldap完成的。我正在使用Plone-4.0和PlonePAS-4.0.1-py2.6
这是触发某些异常并为匿名用户打开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"/>
感谢任何帮助。 谢谢!
答案 0 :(得分:0)
使用https://pypi.python.org/pypi/Products.remember/1.9.2可能会更好,因为它会为所有成员提供应该可搜索的内容对象。
否则,您可能必须实现自己的视图来执行搜索并绕过有关用户的安全注意事项。