【问题标题】:Passing credentials from ASP.NET C# to another web service将凭据从 ASP.NET C# 传递到另一个 Web 服务
【发布时间】:2011-10-13 18:54:26
【问题描述】:

我有一个单页的 ASP.NET 4.0 C# 脚本正在运行。在调试模式下,我的脚本工作得很好,但是当我发布它时,它似乎在发出 WebRequest 时没有发送凭据。 以下是我正在使用的代码,我尝试了很多东西,但是当我使用我发布的脚本版本时,我不断收到 401 Unauthorized。顺便说一句,我正在使用 IIS 7

WebRequest fwRequest = HttpWebRequest.Create(fwURL);
fwRequest.UseDefaultCredentials = true;
//fwRequest.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse myHttpWebResponse = (HttpWebResponse)fwRequest.GetResponse(); 

【问题讨论】:

  • 仅供参考,这不是脚本。这是一个程序。
  • 您尝试过使用模拟吗?像使用 (WindowsIdentity.GetCurrent().Impersonate()) { //code here } (记忆中!

标签: c# asp.net credentials


【解决方案1】:

在调试时,您的项目使用您的凭据,但是当您发布它时,它将使用 ASP.NET 用户的凭据,或在 IIS 配置中设置的凭据。 所以不,除非您说服他/她将用户名密码传递给您的应用程序,否则您不能将客户端的凭据传递给另一个 Web 服务/应用程序(除非两个 Web 应用程序在同一台机器上)。

【讨论】:

    猜你喜欢
    • 2012-02-19
    • 2012-08-19
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多