Sitecore预览功能可将活动域切换到Extranet

时间:2013-05-22 10:47:12

标签: sitecore preview

在我们基于sitecore的网站中,我们有自定义sitecore模块供sitecore管理员使用。在每个模块中,我们进行凭证检查以查看当前用户是否是sitecore用户。

using Sitecore.Security.Authentication;

if (AuthenticationManager.GetActiveUser().Domain.Name != "sitecore")
{
   //not permitted to use the admin module
}

此检查允许管理员使用自定义模块,只要他们登录到sitecore门户即可。但问题是,只要他们使用sitecore“预览”功能预览某些项目,当前活动用户就会变为“extranet \ Anonymous”。从此时起,我们的自定义模块认为该用户不是sitecore管理员,并拒绝访问该模块。

如何克服这个问题?我们需要对管理模块以及预览功能进行安全检查。

提前致谢!

PS。在进一步调查时看到已知问题。 http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/ReleaseNotes/KnownIssues%20Recommended/Users%20in%20Preview%20mode%20do%20not%20have%20access%20to%20restricted%20pages%20unless%20they%20log%20in%20on%20the%20website.aspx

1 个答案:

答案 0 :(得分:0)

预览应用程序在extranet \ anonymous用户的上下文中浏览该站点,通过隐藏安全内容等来显示该站点对网站访问者的外观/行为。要执行模块中的检查,您可以使用{{ 1}}与Sitecore.Publishing.PreviewManager.GetShellUser()结合以获得您正在寻找的逻辑。