我創建了一些不是管理員的Sitecore用戶,併爲他們分配了幾個角色。當這些用戶默認訪問Sitecore門戶時,他們不會顯示隱藏項目,他們必須去查看選項卡並手動配置它。有沒有辦法通過對這些用戶之間共享的用戶角色進行一些配置來默認配置這些用戶來查看隱藏項目。Sitecore非管理員用戶顯示隱藏項目
3
A
回答
7
這個信息被Sitecore.Shell.UserOptions.View.ShowHiddenItems
檢索到,它從UserProfile
(或者如果配置文件已經被加載從RegistryCache
)獲得這個數據。
用戶配置文件信息爲每個用戶單獨存儲並以二進制列的形式保存在數據庫中。沒有辦法從用戶角色獲取此選項。
你仍然可以寫會遍歷該角色的所有用戶,你提到的是一個腳本,並在這些用戶的配置文件中設置的值:
public static void SetHiddenItemsValue(User user)
{
string key = "/Current_User/UserOptions.View.ShowHiddenItems";
string value = "true";
if (!(user != null))
return;
key = StringUtil.Left(key, 250);
key = key.Replace("Current_User", user.Name);
user.Profile[key] = value;
user.Profile.Save();
RegistryCache registryCache = CacheManager.GetRegistryCache(Sitecore.Context.Site);
if (registryCache == null)
return;
registryCache.Clear();
}
4
從馬拉什另一種選擇是你可能鉤到security:loggedin
事件並設置該值。
你的類需要從Sitecore.Pipelines.LoggedIn.LoggedInProcessor
那將需要做類似下面的繼承:
public override void Process(LoggedInArgs args)
{
var user = Sitecore.Security.Accounts.User.FromName(args.Username, true);
var key = "/" + args.Username + "/UserOptions.View.ShowHiddenItems";
// if user needs to be in a specific role only, check that here
// if (user.IsInRole("yourrolename"))
if (String.IsNullOrEmpty(user.Profile[key]))
{
user.Profile[key] = "true";
user.Profile.Save();
}
}
相關問題
- 1. AuthLogic管理員用戶和隱藏非管理員的管理鏈接
- 2. c#當管理員/用戶登錄時顯示/隱藏按鈕
- 3. SharePoint web部件自定義EditorPart隱藏非管理員用戶
- 4. 顯示/隱藏項目 - listview
- 5. WordPress的4.3隱藏非管理員的管理欄
- 6. 隱藏項目桶內容時顯示sitecore模板
- 7. 隱藏Drupal管理員
- 8. 非管理員用戶的Sitecore「個性化」按鈕訪問
- 9. 如何在jqgrid中爲用戶/管理員隱藏/顯示編輯按鈕?
- 10. 用戶和管理員Java項目
- 11. 安卓系統 - 隱藏管理員用戶的多個用戶
- 12. 過濾器管理員顯示用戶
- 13. 未顯示非管理員用戶的意見
- 14. 管理多個顯示/隱藏div
- 15. Sitecore的編程方式隱藏項目
- 16. 隱藏管理菜單項
- 17. 隱藏/顯示*非常*慢
- 18. 谷歌管理員非管理員用戶的SDK
- 19. 顯示/隱藏列表框用戶操作的項目
- 20. 顯示/隱藏的菜單項目根據登錄的用戶
- 21. 401使用非管理員用戶
- 22. Sitecore外聯網管理員?
- 23. 隱藏/顯示項目點擊的ImageButton
- 24. 隱藏並顯示欄按鈕項目
- 25. Actionscript 3.0 - Mouse_OVER,Mouse_OUT顯示/隱藏項目...?
- 26. 顯示和隱藏LI項目
- 27. 向管理員顯示目錄結構
- 28. 如何從非管理員的菜單中隱藏「WooCommerce」?
- 29. 隱藏「發佈」按鈕來自非管理員?
- 30. 管理員在sitecore工作流程中創建新項目
同意。這也是一個選項。您的解決方案的好處是,它將適用於分配給此角色的新用戶。缺點是它會在所有用戶的每次登錄操作後執行。無論如何+1 –