当我在ECM

时间:2015-05-06 03:09:45

标签: sitecore sitecore6 sitecore-ecm

每当我在ECM中选择一条消息时,它会将我重定向到Sitecore的登录页面,并在顶部显示以下网址

http://example.com/sitecore%20modules/shell/EmailCampaign/UI/Dialogs/MessageBody.aspx?message={79D6412B-824A-4349-8B94-9136D17C6E84}&lang=en&contact=Emailcampaign\exampleuser_at_example_dot_com

以下是我对此问题的了解:

  1. 虽然大部分时间都会发生这种情况,但有时它会对同一条消息和同一预览用户起作用(对于上面网址中提到的联系人)。
  2. 尝试访问ECM中的邮件的sitecore用户拥有他尝试访问的邮件的所有访问权限。
  3. 我在不同的服务器上运行测试环境,这样可以正常工作。但是在生产环境中,它无法正常工作。
  4. 我在Sitecore.NET 6.6.0(rev.121015)版本上运行我的网站。
  5. 当sitecore将我重定向到登录页面时,顶部显示上面的URL。我无法使用该页面登录。我必须去

    http://example.com/sitecore/
    

    重新登录。

  6. 网址中的商品ID是正确的,它指向我要查看的邮件。

2 个答案:

答案 0 :(得分:1)

[更新]

我们通过在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>

以下是该custompreview背后的代码:

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);
   }
  }
}

[旧]

我们解决了这个问题。奇怪的是,这与配置不当的负载均衡器有关。我们仍然需要找到负载均衡器中出现的问题,但是当我们从负载均衡器中删除其中一个服务器时,我们不会遇到这个问题,即,当流量仅流向一个特定服务器时,此问题并非如此&# 39; t发生。由于我们的测试环境仅部署在一台服务器上,因此我们从未遇到过这个问题。

答案 1 :(得分:0)

这听起来像是核心数据库中缺少的东西。

我会检查以确保ECM所需的角色存在于核心数据库中,并检查您是否具有正确的设置以方便用户使用域emailcampaign \ username。

如果这不能解决问题,可以在此处运行诊断工具以帮助您进一步调试:

https://kb.sitecore.net/articles/553662

联系Sitecore支持失败 - 他们有更多工具来帮助调试ECM的问题