如何将用户凭据从一个服务传递到另一个服务?

时间:2015-12-15 09:22:05

标签: asp.net asp.net-web-api active-directory credentials

我想将一些通用类型的功能从我的一些应用程序转移到我可以提出请求的中央API。我遇到了一个特定情况的问题,但是我有一些基于用户和AD的功能。

用户凭据将传递给第一个应用程序,但第二个应用程序将传递给应用程序池正在运行的用户。

首先,我试图研究这个问题,我是否以明智的方式解决问题?我应该继续尝试让两个API相互通话,还是应该将客户端作为中间人使用?

如果我以明智的方式接近这个,那么前进的最佳方式是什么?搜索谷歌,这里给了我不同的方式我可以接近这个(Kerberos,模仿)但是至少(至少对我来说)这是最好的路线?

提前致谢。

[UPDATE]

有关我如何传递详细信息的更多细节,以防这有助于解决问题。

try
{
    using (var client = new WebClient { UseDefaultCredentials = true })
    {
        string request = BuildRequest();
        string response = client.DownloadString(request);
        return Convert.ToBoolean(response);
    }
}
catch (Exception ex)
{
    return false;
}

如上所述,上面提到的第二个api调用正常,但是传递的用户凭据不是调用第一个API的用户,而是运行App Pool的用户的凭据。

0 个答案:

没有答案