跳转到主要内容

Zope 2 发布者验证钩子

项目描述

简介

此软件包提供了一种钩子,可以进入Zope的ZPublisher,在发布者完成遍历和身份验证之后,但在尝试发布对象之前运行。这对于跟踪用户活动等任务非常有用。

钩子使用zope.event的事件机制,使用plone.validatehook.interfaces.IPostValidationEvent。这是基于标准的ObjectEvent形式zope.component

IPostValidationEvent事件有两个属性:user,表示当前已认证的用户对象,和request,表示当前请求对象。

请注意,即使未经认证的请求也有用户对象。如果您只想处理“正常”用户,请确保忽略AccessControl.User.SpecialUser的任何实例。

示例

作为示例,我们将编写一些代码,记录当前用户的ID和当前代码的路径。这是事件处理器的代码

from zope.interface import Interface
from zope.component import adapter
from plone.validatehook.interfaces import IPostValidationEvent
import logging

logger = logging.getLogger("LogRequest")

@adapter(Interface, IPostValidationEvent)
def LogRequest(object, event):
    if getattr(object, "getPhysicalPath", None) is None:
        path="Unknown path"
    else:
        path="/".join(object.getPhysicalPath()

    logger.info("Request from user '%s' for object %s" %
            event.user.getId(), path)

要使用此代码,您需要将其注册到zcml中

<subscriber handler=".events.LogRequest" />

变更日志

1.0 - 2008年10月15日

  • 转移到svn.zope.org,并重新许可为ZPL。[wichert]

1.0rc1 - 2008年7月15日

  • 初始发布 [wichert]

项目详情


下载文件

下载适用于您平台的应用程序文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

plone.validatehook-1.0.zip (10.2 kB 查看哈希值)

上传时间 来源

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面