WCF阻止的道路:在查看主要身份的“服务安全上下文”错误时应该检查什么?

时间:2016-07-07 23:50:32

标签: wcf authentication

我正在支持一个较旧的Windows窗体应用程序,该应用程序调用WCF Web服务。我们的基础架构团队最近不得不将其迁移到更新的硬件(Win Server 2012)并应用新证书。现在,当我尝试从Web服务检索数据时,我收到以下消息:

  

无法返回当前服务的主要身份的有效ID   安全上下文

代码部分(如果这可能有帮助)它命中的是:

    public TResult Execute<TResult>(Func<CustomServicesClient, TResult> proxy)
    {
        try
        {
            return proxy(Client); // fails here
        }
        catch (SoapException ex)
        {
            _client.Abort();
            throw new CustomApplicationException(ex.Message, ex);
        }
        catch (Exception)
        {
            // rethrow any other exception not defined here
            // You may want to define a custom Exception class to pass information such as failure count, and failure type
            _client.Abort();
            throw;
        }
    }

系统正在使用配置为:

的UserName凭据
      <security mode="TransportWithMessageCredential">
        <transport clientCredentialType="None" proxyCredentialType="None"
          realm="" />
        <message clientCredentialType="UserName" negotiateServiceCredential="true"
          algorithmSuite="Default" />
      </security>

Web服务正好受到影响,因为当用户首次登录时,我可以在对服务的身份验证调用成功后逐步执行以下代码:

    UraIdentity identity = Security.CustomAuthenticationManager.GetCustomIdentity(txtUserName.Text.Trim(), ds);
    UraPrincipal.Attach(identity, PrincipalAttachType.WinApplication);

我环顾四周,那里确实缺乏可用的信息,所以我很难过。我应该考虑采取哪些措施来解决这个问题?

0 个答案:

没有答案