让 Plone 给出正确的 403 Forbidden 错误
默认 Plone 行为是当用户尝试访问他或她无权访问的内容时显示登录框。
如何更改此行为,以便显示“未经授权”页面?如何自定义此未经授权的页面以具有自定义文本。 ETC?
Default Plone behavior is to display login box when the user tries to access content for which he or she does not have permission.
How to change this behavior so that instead and Unauthorized page is displayed? How to customize this unauthorized page to have custom texts. etc?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
PAS 通过调用任何质询插件来响应 401 未经授权错误,因此为了避免登录表单,请在 acl_users 中停用这些插件。
403 Forbidden 不应导致质疑。然而,在生产模式(但不是调试模式)下,这些错误被隐藏并转换为 404 Not Found。
PAS responds to a 401 Unauthorized error by invoking any challenge plugins, so to avoid the login form deactivate these plugins in acl_users.
A 403 Forbidden should not result in a challenge. However in production mode (but not debug mode) these errors are hidden and they are transformed into 404 Not Found.
自定义此模板:Products.CMFPlone/Products/CMFPlone/skins/plone_login/require_login.py,通过“旧式”皮肤自定义或“新式”jbot 自定义:http://pypi.python.org/pypi/z3c.jbot (参见
CMF 对象
部分)Customize this template: Products.CMFPlone/Products/CMFPlone/skins/plone_login/require_login.py, either via "old style" skin customization or "new style" jbot customization: http://pypi.python.org/pypi/z3c.jbot (see
CMF Objects
section)仅供参考,现在还有一个 PAS 插件,仅在 UA 是浏览器时重定向到登录表单:
https://pypi.python.org/pypi/koodaamo.pas.browseronlyredirect/
FYI, there's now also a PAS plugin that only redirects to login form if the UA is a browser:
https://pypi.python.org/pypi/koodaamo.pas.browseronlyredirect/