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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1f790be5a942c67cb8b66b3e5c3224c02835098f4cd612c1c67425eae7ee935f |
|
MD5 | dee17ae09fece540350b3961526abda6 |
|
BLAKE2b-256 | eac2276c917b8458b1f149b84b63171addfe26dbee934bf3c738b2dee964c992 |