Zope在关于用户的2个操作

发表于:2007-06-11来源:作者:点击数: 标签:
1.在Zpt内获取当前用户名称 Curruser is p tal:define="a python:modules['AccessControl']" tal:replace="python:a.getSecurityManager().getUser()" user/p 在Zpt内使用python module可以采用tal:define="a python:modules[modulename]"方式,如上在python

1.在Zpt内获取当前用户名称

Curruser is

<p tal:define="a python:modules['Aclearcase/" target="_blank" >ccessControl']"

tal:replace="python:a.getSecurityManager().getUser()"> user</p>

在Zpt内使用python module可以采用tal:define="a python:modules[modulename]"方式,如上在pythonScript中可以:

a = AccessControl.getSecurityManager().getUser()

print a

getUser()返回的 AuthenticatedUser

值得注意的是,在Zpt和pyscript中不是所有的模块都可以引入,比如你引入了AuthenticatedUser,会被提示再次上下文不能引入。要想避免该限制应该改用External Method

2.判断用户是否有某一个角色

au = AccessControl.getSecurityManager().getUser()

print au.getRoles()

if au.has_role("技巧管理者"):

print "ok"

else:

print "no"

(责任编辑:铭铭)

原文转自:http://www.ltesting.net

...