在WCF服务调用中使用客户端默认网络凭据

时间:2014-06-03 13:07:31

标签: c# web-services wcf reporting-services

我有一个WCF服务,它进一步调用另一个服务(在这种情况下,WCF然后调用SSRS Web服务。)我需要将客户端的凭据传递给WCF,然后有WCF使用这些凭据。

我正在尝试执行以下操作:

public ICredentials NetworkCredentials
    {
        get
        {
            if (String.IsNullOrEmpty(_username) && String.IsNullOrEmpty(_password) && String.IsNullOrEmpty(_domain))
                return CredentialCache.DefaultNetworkCredentials;
            return new NetworkCredential(_username, _password, _domain);
        }
    }

然后在SSRS Web服务上使用这些凭据:

public SSRS2010ReportServiceConnection(Server server, ICredentials credentials)
    {
        _server = server;
        _service = new ReportingService2010
        {
            Url = server.ServerPath,
            Credentials = credentials
        };
    }

但是,如果在IIS上托管默认设置,则CredentialCache.DefaultNetworkCredentials将返回主机服务器的凭据,而不是客户端。

如何以编程方式传递客户端凭据?

0 个答案:

没有答案