1

我的 Sitecore 环境在不同的域上有单独的 CM 和 CD 服务器。按照说明安装WeBlog模块并设置配置后,我收到以下错误(在此页面上突出显示)。

由于身份验证失败,无法满足对安全令牌的请求。

异常详细信息:System.ServiceModel.FaultException:由于身份验证失败,无法满足对安全令牌的请求。

使用防火墙后面的 CM 服务器,最简单的解决方案可能是不用担心身份验证,但我无法让它工作。我现在收到此错误:

无法处理该消息。这很可能是因为操作“ http://tempuri.org/ICommentService/SubmitComment ”不正确,或者因为消息包含无效或过期的安全上下文令牌,或者因为绑定之间不匹配。如果服务由于不活动而中止通道,则安全上下文令牌将无效。为了防止服务过早中止空闲会话,请增加服务端点绑定的接收超时。

CM 服务器(服务器)web.config 如下所示:

<system.serviceModel>
  <bindings>
  <wsHttpBinding>
    <binding name="WeBlogBindingConfig">
      <security mode="None">
        <transport clientCredentialType="None" />
        <message establishSecurityContext="false" />
      </security>
    </binding>
  </wsHttpBinding>
  <basicHttpBinding>
  ...
  </basicHttpBinding>
</bindings>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
  <behaviors>
      <serviceBehaviors>
          <behavior name="Sitecore.Modules.WeBlog.Services.CommentServiceBehaviour">
              <serviceMetadata httpGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="true" />
          </behavior>
      </serviceBehaviors>
  </behaviors>
  <services>
      <service name="Sitecore.Modules.WeBlog.Services.CommentService"
        behaviorConfiguration="Sitecore.Modules.WeBlog.Services.CommentServiceBehaviour">
          <endpoint address="" binding="wsHttpBinding" contract="Sitecore.Modules.WeBlog.Services.ICommentService" bindingConfiguration="WeBlogBindingConfig">
          </endpoint>
      </service>
  </services>
</system.serviceModel>

CD 服务器(客户端)web.config 如下所示:

<system.serviceModel>
  <bindings>
  <wsHttpBinding>
    <binding name="WeBlogBindingConfig">
      <security mode="None">
        <transport clientCredentialType="None" />
        <message establishSecurityContext="false" />
      </security>
    </binding>
  </wsHttpBinding>
  <basicHttpBinding>
  ...
  </basicHttpBinding>
  </bindings>
  <client>
      <endpoint address="http://cmserver/sitecore modules/web/WeBlog/Comment.svc"
        binding="wsHttpBinding" contract="Sitecore.Modules.WeBlog.Services.ICommentService"
        name="WeBlogCommentService" bindingConfiguration="WeBlogBindingConfig">
      </endpoint>
      ...
</client>
</system.serviceModel>

我已经为此奋斗了几天,所以任何帮助将不胜感激。

萨德

4

0 回答 0