Sitecore非管理员用户显示隐藏的项目

Kas*_*ghe 3 sitecore

我创建了一些不是管理员的Sitecore用户,并为他们分配了很少的角色.当这些用户默认访问Sitecore门户时,他们不会显示隐藏的项目,他们必须转到查看选项卡并手动配置它.有没有办法我可以配置这些用户默认情况下通过对这些用户之间共享的用户角色进行一些配置来查看隐藏的项目.

Mar*_*lak 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();
}
Run Code Online (Sandbox Code Playgroud)