在我们基于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管理员,并拒绝访问该模块。
如何克服这个问题?我们需要对管理模块以及预览功能进行安全检查。
提前致谢!
答案 0 :(得分:0)
预览应用程序在extranet \ anonymous用户的上下文中浏览该站点,通过隐藏安全内容等来显示该站点对网站访问者的外观/行为。要执行模块中的检查,您可以使用{{ 1}}与Sitecore.Publishing.PreviewManager.GetShellUser()
结合以获得您正在寻找的逻辑。