Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是Plone';s是否能够编程使用数据库?_Python_Security_Plone_Dexterity - Fatal编程技术网

Python 是Plone';s是否能够编程使用数据库?

Python 是Plone';s是否能够编程使用数据库?,python,security,plone,dexterity,Python,Security,Plone,Dexterity,在文档中,我看到了这一点 注意:所有权限都需要在configure.zcml中的行之前定义。否则,可能会出现错误 正在尝试将权限与grok.require()指令一起使用。这个 permissions.zcml文件如下所示: <configure xmlns="http://namespaces.zope.org/zope" i18n_domain="example.conference"> <permission id="exampl

在文档中,我看到了这一点

注意:所有权限都需要在configure.zcml中的行之前定义。否则,可能会出现错误 正在尝试将权限与grok.require()指令一起使用。这个
permissions.zcml
文件如下所示:

<configure
    xmlns="http://namespaces.zope.org/zope"
    i18n_domain="example.conference">

    <permission
        id="example.conference.AddSession"
        title="example.conference: Add session"
        />

    <permission
        id="example.conference.ModifyTrack"
        title="example.conference: Modify track"
        />

</configure>
注意:此文件使用Zope2权限标题,而不是较短的标题 Zope 3权限id。“

Plone的灵巧性可以被编程为使用数据库吗?如果我有数千个用户呢?当我已经在Active Directory或MySQL数据库中使用它的时候,有很多xml文件需要跟上。我希望基于按钮和其他网页项的安全性,不让它们显示出来。灵巧性似乎可以做到这一点

谢谢

编辑:感谢您消除了我对用户和角色之间的混淆,因为用户像LDAP服务器一样保存在存储库中

在我设置了角色和用户之后,我所要做的就是将我的html打包(在定义如下Python代码之后),这是正确的吗

“例如,如果用户具有cmf.RequestReview权限,那么让我们在会话类型的视图上显示一条消息。在session.py中,我们使用以下内容更新视图类(同一页)

在会话_templates/view.pt template中,我们添加:

<div class="discreet"
     tal:condition="view/canRequestReview"
     i18n:translate="suggest_review">
    Please submit this for review.
</div>

请提交此文件以供审核。

您误解了角色和权限的工作方式。角色不是单个用户,它们是用户可以“扮演”的特定角色。例如,用户可以是经理、审阅者和参与者。您可以将它们视为权限组,按需要执行的任务类型分组。这一切与用户的存储方式无关。例如,Plone.org将用户帐户存储在LDAP服务器中。XML文件是配置和注册系统知道的角色的一种方法。角色存储在ZODB对象数据库中。有关所有这些工作原理的概述,请参阅。
from zope.security import checkPermission

class View(dexterity.DisplayForm):
    grok.context(ISession)
    grok.require('zope2.View')

    def canRequestReview(self):
        return checkPermission('cmf.RequestReview', self.context)
<div class="discreet"
     tal:condition="view/canRequestReview"
     i18n:translate="suggest_review">
    Please submit this for review.
</div>