使用已登录的用户NetworkCredential连接到web服务

本文关键字:连接 web 服务 NetworkCredential 用户 登录 | 更新日期: 2023-09-27 18:16:56

这是为我工作的代码

      using (var projectProxy = new Project())
        {
            projectProxy.Url = "...vtjbhj/pjipio/project.asmx";
            projectProxy.Credentials = new NetworkCredential("username", "password", "network");
            return projectProxy;
        }

我将binding设置为

<bindings>
      <basicHttpBinding>
        <!--Used by app for SharePoint-->
        <binding name="secureBinding">
          <security mode="Transport" />
        </binding>
      </basicHttpBinding>
</bindings>

这里我硬编码用户名,密码,网络等

相反,我应该能够在这里使用当前登录的用户详细信息。

我该怎么做呢?

我试着

projectProxy.UseDefaultCredentials = true;
projectProxy.Credentials = CredentialCache.DefaultNetworkCredentials;

还是不行

任何帮助都可以拯救我的一天!

更新

*客户端和服务器在不同的机器上

*客户端和服务器在同一个域

*我收到错误信息401-未经授权。

使用已登录的用户NetworkCredential连接到web服务

为什么不使用下面的解决方案?

   [WebMethod(Description = "Getfinfo", EnableSession = true)]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string functionname()
{}

你只需要维护用户会话之后,webservice将只响应有会话的用户

如果两台机器有共同的会话