2011-07-07 116 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')];

相關問題