当我在ECM中选择邮件时,Sitecore注销 [英] Sitecore logs out when I select a message in ECM
本文介绍了当我在ECM中选择邮件时,Sitecore注销的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
每当我在ECM中选择消息时,它都会将我重定向到Sitecore的登录页面,并在顶部显示以下URL
http://example.com/sitecore%20modules/shell/EmailCampaign/UI/Dialogs/MessageBody.aspx?message={79D6412B-824A-4349-8B94-9136D17C6E84}&lang=en&contact=Emailcampaignexampleuser_at_example_dot_com
以下是我对此问题的了解:
- 虽然这种情况在大多数情况下都会发生,但有时会对相同的邮件和相同的预览用户(对于上面URL中提到的联系人)起作用。
- 尝试在ECM中访问邮件的Sitecore用户对其尝试访问的邮件拥有所有访问权限。
- 我有一个在另一台服务器上运行的测试环境,在该服务器上可以很好地工作。但在生产环境中不起作用。
- 我正在Sitecore.NET 6.6.0(121015修订版)版本上运行我的网站。
当Sitecore将我重定向到顶部具有上述URL的登录页面时。我无法使用该页面登录。我必须去
http://example.com/sitecore/
以便重新登录。
URL中的项目ID正确,它指向我尝试查看的邮件。
推荐答案
[更新]
我们通过如下方式在web.config中添加自定义预览处理程序解决了此问题
<previewManager defaultProvider="customPreview" enabled="true">
<providers>
<clear />
<add name="default" type="Sitecore.Publishing.PreviewProvider, Sitecore.Kernel" />
<add name="customPreview" type="PackageName.CustomPreview, PackageName" />
</providers>
</previewManager>
以下是该自定义预览的后台代码:
public class CustomPreview : Sitecore.Publishing.PreviewProvider
{
public override void SetUserContext()
{
string shellUser = this.GetShellUser();
if (!string.IsNullOrEmpty(shellUser))
AuthenticationManager.SetActiveUser(shellUser);
else
{
if(!Sitecore.Context.User.Name.Split('\')[1].Equals("Anonymous"))
AuthenticationManager.SetActiveUser(Sitecore.Context.User.Name);
}
}
}
[旧]
我们已解决此问题。奇怪的是,这与负载均衡器配置不当有关。我们仍然需要找出负载均衡器中出了什么问题,但是当我们从负载均衡器中删除其中一个服务器时,我们不会面临这个问题,也就是说,当流量只到达一个特定的服务器时,就不会出现这个问题。由于我们的测试环境仅部署在一台服务器上,因此在那里我们从未遇到过此问题。
这篇关于当我在ECM中选择邮件时,Sitecore注销的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文