【问题标题】:Sitecore - Is there a way to reset all Access Rights in User Manager or Security Editor?Sitecore - 有没有办法在用户管理器或安全编辑器中重置所有访问权限?
【发布时间】:2013-04-26 19:25:50
【问题描述】:

我目前有一个用户的访问权限被弄乱了,我想重置它们。我可能是盲人,但有人知道如何做到这一点吗?

【问题讨论】:

    标签: content-management-system sitecore sitecore6


    【解决方案1】:

    我不知道重置用户权限的方法。

    我能想到的唯一方法是删除用户并创建一个新用户,或者编写一个循环到树或检索当前用户有权访问的所有项目并重置该用户的权限的脚本。

    【讨论】:

    • 我实际上尝试删除用户,然后重新创建它。如果您在重新创建用户时使用相同的信息,然后查看访问查看器或安全编辑器,该用户仍将拥有以前的访问权限。这对我来说太疯狂了!
    • 我以为会是这样,因为用户是通过名称而不是 ID 来识别的,尽管我希望 Sitecore 在删除用户时会删除安全设置。
    【解决方案2】:

    项目的安全性存储在项目本身的__security 字段中。此外,安全性是通过用户或角色的名称存储的,而不是通过 ID 存储的。删除用户/角色不会修改任何引用该用户/角色的项目,因此您可以有效地获得孤立的访问权限。

    几年前我创建了一个脚本,用于报告(并重置)项目的安全性。它可以从我的blog post 获得,我在这个similar question 中引用了它。您应该能够修改该脚本以删除单个用户的权限。

    【讨论】:

      【解决方案3】:

      到目前为止,我能够做到这一点的唯一方法是进入安全编辑器,选择用户,然后打开树中的每个项目并手动将每个访问权限取消设置为默认设置继承。

      例如,仅 Home 项至少有读/写/重命名/创建/删除/管理/继承权限。每个权限都具有以下状态之一:继承/允许/拒绝/项目与后代权利/受保护/不适用。如果设置了其中任何一个,请手动取消设置。因此,如果它被设置为允许,您将单击绿色复选标记,这会将其从允许中取消设置(我猜您可能会争辩说我将其设置为继承)。

      要回到第一格,一切都应该设置回继承。

      【讨论】:

      • 你真的不应该对用户设置访问权限,而是应该根据角色设置它们,这样你所要做的就是从角色中添加/删除用户。
      • @jammykam - 我尊重你所说的精神,但这是我继承的。创建角色并为其分配访问权限要好得多,而且更易于维护。
      • 很公平,有时你只需要处理你所拥有的。我看到了你的其他相关问题,我认为你相信如果你将权限转移到角色,你会给自己一个更轻松的时间。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-17
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多