2011-07-07 40 views
3

我们正在清理Sitecore实例中的权限,并且正在运行多年来被授予特定访问权限的用户。现在,我想将所有权限都放入角色中,并且只通过角色授予权限。查看并清除Sitecore中的所有用户特定权限

有没有办法查看专门分配给用户的权限?我们有足够多的用户可以手动修复此问题,但安全查看器显示来自用户权限和角色权限的累积权限。

+1

这是一个有趣的问题。您可能可以编写一个查询来检查__Security字段中的特定用户标识。我会去试试这个...... – Bryan

回答

4

查询想法实际工作。所以你可以使用Xpath Builder(在开发中心)做这个。这将是一个有点慢,但给你的项目:

/Sitecore的/内容/ myRoot // * [包含(@__安全,“用户名”)]

+0

好主意......我接受并在Sitecore Rocks中对其进行了测试,并且工作得很好。 select @@ ID as ID,@@ Name as Name,@@ Path as Path,@__Security from/sitecore/content/home // * [contains(@__ Security,'xxxx')]; –

+0

这最终成为我的需求的最简单的解决方案。谢谢! – JoshBaltzell

2

Josh, 我刚刚发布了一个小脚本,它可以帮助你解决这个问题。该脚本将向您显示__security字段的所有值,并允许您重置所有值。您需要修改以重置特定用户。

http://seankearney.com/post/Sitecore-Security-Report-and-Reset.aspx

+0

要根据您的需要定制这个,您可以查看修改第56行以检查您的用户是否在该值中被“包含”。 –

+0

这太棒了。我会在今天或明天测试它,然后回来给你信用。谢谢! – JoshBaltzell

1

想我会后一些抛出这个在那里与岩石测试。

您可以在安全距离Sitecore的岩石报告(在我的布莱恩评论中提及):

select @@ID as ID, @@Name as Name, @@Path as Path, @__Security from /sitecore/content/home//*[contains(@__Security,'xxxx')];

您还可以查询过重置安全领域!

update set @__Security = "" from /sitecore/content/home//*[contains(@__Security,'xxxx')];

相关问题