2015-02-11 28 views
2

我想使用Sitecore安全来访问站点上的某些文档需要注册/登录。然而,客户希望将这些文档的链接显示给匿名用户,让他们知道如果他们注册/登录,他们将访问这些受保护的文档。Sitecore中有一种方式显示用户无权访问的媒体库项目的链接?

Sitecore有一些简单的方法吗?我唯一能想到的就是使用某种安全禁用器来获取文档列表并在页面上显示链接。

回答

1

正如托马斯Therkildsen建议,您可以使用安全功能停止,但Sitecore的首选方法是使用一个用户切换。

using (new Sitecore.Security.Accounts.UserSwitcher(userWithMoreRights)) 
{ 
    // ... 
} 

SecurityDisabler基本上给出了代码做任何它想做的权利,而UserSwitcher有更多的限制。

有关更多信息,请参阅Security API cookbook

+1

要说明Martin,切换到用户意味着他们的权限可以在内容编辑器中进行控制;让该用户访问除含有敏感信息的媒体以外的所有媒体。 – 2015-02-12 10:19:13

0

您可以使用SecurityDisabler:

using (new SecurityDisabler()) 
{ 
    //code to get links 
} 
+0

是的,这是有道理的。我希望有更好的办法。 :) 谢谢回答。 – 2015-02-11 18:46:41

相关问题