plone add-on collective.sendaspdf:下载页面需要登录

plone add-on collective.sendaspdf:下载页面需要登录,plone,Plone,我使用collective.sendaspdf下载plone页面的pdf文件,但它要求用户在下载公共内容时登录 这看起来很奇怪,因为它发生在生产服务器上,而不是开发服务器上(唯一的区别似乎是后者是在前台模式下启动的) 当然,我不能将对象的特定权限分配给匿名用户,所以我猜问题出在其他地方 由于Jean的建议,我启用了详细安全性,错误为“未经授权:在此上下文中不允许您访问”@@at_base\u edit\u view” 这对我来说很奇怪,因为页面是基于我的内容类型原型的视图,并且它是发布的,所以匿

我使用collective.sendaspdf下载plone页面的pdf文件,但它要求用户在下载公共内容时登录

这看起来很奇怪,因为它发生在生产服务器上,而不是开发服务器上(唯一的区别似乎是后者是在前台模式下启动的)

当然,我不能将对象的特定权限分配给匿名用户,所以我猜问题出在其他地方

由于Jean的建议,我启用了详细安全性,错误为“未经授权:在此上下文中不允许您访问”@@at_base\u edit\u view” 这对我来说很奇怪,因为页面是基于我的内容类型原型的视图,并且它是发布的,所以匿名用户可以看到它。我还要重复一次,我安装了具有相同软件的开发服务器,在该服务器上正确授予了授权,即任何人都可以在不登录的情况下下载页面……网络配置有什么变化(我有一个apache,它在我的zope服务器前执行一些url重写,但这只会影响要隐藏的plone站点的路径)
我想知道我是否可以通过sendaspdf配置来纠正这个问题。我不知道我可以提供关于环境/配置的哪些其他信息。我正在运行Plone 4.0.4+collective.sendaspdf 2.0

好的,问题是由于collective.sendaspdf处理基于原型的内容类型时出现了一个bug,这是可行的通过替换代码来解决此问题:

view_name = context_type.getProperty('immediate_view')


base.py
的方法
get\u page\u source
中,或者通过等待产品的下一个版本来解决问题。

好的,问题是由于collective.sendaspdf处理基于原型的内容类型时存在错误,可以通过替换代码来解决此问题:

view_name = context_type.getProperty('immediate_view')


base.py
的方法
get\u page\u source
中,或者通过等待产品的下一个版本。

我认为这是一个完全合理的问题。答案是启用详细的安全性,例如在前台运行zope进程并查看控制台消息。我找不到真正好的当前文档来解释这是最好的方法,但感谢Jean,我启用了详细安全性,错误是“未经授权:在此上下文中不允许您访问”@@at_base\u edit\u view“回溯在失败的行上是否提供了任何信息?sendaspdf可能试图访问它不应该访问的内容(我尽了最大努力避免在这种情况下出错,但显然我错过了一些情况:/)当试图呈现用户看到的页面时。您是否也安装了jquery.pyproxy?Ajax版本正常工作得更好(我们只是用Javascript获取源代码,它使用用户看到的确切代码,包括使用JS更改的部分)@mede:您需要提供完整的回溯信息..我实现了一个解决方法:问题是方法get_page_source中的sendaspdf无法从url中提取视图名称(我不知道这是否取决于我所做的错误配置),它会检查“立即查看”值。对于基于原型的内容,这是actc_编辑,需要权限,因此我将该行代码从“查看名称=上下文类型.getProperty('immediate_view')”更改为“查看名称=上下文类型.getProperty('default_view')”现在它开始工作了。再次感谢关于授权异常调试的提示。我认为这是一个非常合理的问题。答案是启用详细的安全性,例如,通过在前台运行zope进程并查看控制台消息。我找不到真正好的当前文档来解释实现这一点的最佳方法,但是scan谢谢Jean,我启用了详细安全性,错误为“未经授权:在此上下文中不允许您访问”@@at_base\u edit\u view“回溯在失败的行上是否提供了任何信息?sendaspdf可能试图访问它不应该访问的内容(我尽了最大努力避免在这种情况下出错,但显然我错过了一些情况:/)当试图呈现用户看到的页面时。您是否也安装了jquery.pyproxy?Ajax版本正常工作得更好(我们只是用Javascript获取源代码,它使用用户看到的确切代码,包括使用JS更改的部分)@mede:您需要提供完整的回溯信息..我实现了一个解决方法:问题是方法get_page_source中的sendaspdf无法从url中提取视图名称(我不知道这是否取决于我所做的错误配置),它会检查“立即查看”值。对于基于原型的内容,这是actc_编辑,需要权限,因此我将该行代码从“查看名称=上下文类型.getProperty('immediate_view')”更改为“查看名称=上下文类型.getProperty('default_view')”现在它可以工作了。再次感谢您提供有关授权异常调试的提示