gpt4 book ai didi

tridion - 我们什么时候明确设置 CME 权限给定 OrganizationalItemData 属性?

转载 作者:行者123 更新时间:2023-12-04 15:13:37 24 4
gpt4 key购买 nike

我正在使用核心服务为 OrganizationalItemData 对象创建权限设置列表,并正在寻求帮助确认何时在 CME 中明确设置权限。

问题

给定一个组织项目并且知道它的共享、本地化和权限继承设置,我们什么时候需要显式地为其设置权限(在 CME 中 Properties > Security 下)?

API 详细信息

给定 OrganizationalItemData orgItem我可以检查以下内容(详细信息来自文档)。

  • IsShared获取或设置项目是否在当前上下文发布中共享。
  • IsLocalized获取或设置项目是否在当前上下文发布中本地化。
  • IsPermissionsInheritanceRoot如果为项目本身指定了权限,则为 true;否则,如果项目从父项目继承权限,则为 false。

  • 示例代码

    我可以使用核心服务检查给定 CMS 中的权限设置。例如:

    var CreatedHere = !orgItem.BluePrintInfo.IsShared.GetValueOrDefault();
    var IsLocalized = orgItem.BluePrintInfo.IsLocalized.GetValueOrDefault();
    var PermissionsFromParent = !orgItem.IsPermissionsInheritanceRoot.GetValueOrDefault();

    我想输出给定组织项目的权限,还想输出 CMS 管理员何时实际需要在其发布中设置属性的说明。例如,我可以针对 CMS Test 使用脚本来显示 CMS Production 可能需要的内容。

    场景

    这是它的真相(我认为)。
    Shared  Local(ized)  PermissionsRoot  Set here?
    No No No No, set in parent in this Publication.
    No No Yes Yes, set in this "local" item.
    No Yes No Not possible. Can't localize non-shared item.
    No Yes Yes Not possible. Can't localize non-shared item.
    Yes No No No, set in parent item in higher Publication.
    Yes No Yes No, set in this item but in a higher publication.
    Yes Yes No No, set in parent item in this Publication.
    Yes Yes Yes Yes

    我对这些选项的理解可能是错误的,但到目前为止,我们似乎只需要为两种情况显式设置权限:
  • 对于作为权限根目录的非共享(本地)项目(Inherit Security Settings from Parent 未选中)
  • 对于作为权限根的共享本地化项目。

  • 我是否有正确的场景和/或我在上面的 2^3 场景中遗漏了什么?

    最佳答案

    我认为你有正确的阿尔文。

    首先,您唯一可以拥有权限的地方是继承根。
    其次,适用正常的蓝图规则。

    我曾经将其绘制为带有锯齿形箭头的图表,显示了对权限的搜索:

    (想象一下你是一个试图找出东西的文件夹)

  • 我是本地继承根吗?不-继续寻找
  • 好的 - 所以 BluePrinting 适用,所以也许我是一个共享文件夹并且我是通过 bluePrinting 的继承根?没有?好的 - 继续寻找,
  • 那么树上我上方的那个文件夹呢?那里有权限吗?它是本地继承根吗?它是通过 BluePrinting 的继承根吗?不-继续寻找
  • 以此类推一路顶

  • 所以看看你的表:任何“权限根”为假的东西,都不能拥有它自己的权限,所以正确地说,你对每一个都没有或不可能。
    对于作为继承根的组织项目,下一个问题是它们是本地化/本地化的还是共享的。再次,你似乎已经得到了正确的。

    我只提到一个注意点,那就是“本地化”可能是您第二列的错误名称。我会说“本地”。如果项目未共享,则它是本地项目,这可能是因为它是从另一个出版物中的共享项目本地化的,或者因为它是在此出版物中本地创建的。我认为您意识到您采用的任何脚本或编程方法都需要适应这两种情况。

    关于tridion - 我们什么时候明确设置 CME 权限给定 OrganizationalItemData 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13277945/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com