【问题标题】:Different Credentials on Domain PC and SharePoint site. Who's Credentials are used for HTTP Request?域 PC 和 SharePoint 站点上的不同凭据。谁的凭据用于 HTTP 请求?
【发布时间】:2014-06-22 14:58:02
【问题描述】:

给定一个使用 Windows 身份验证的 SharePoint 2010 站点,如果 UserA 登录到域中的 PC,则 UserB 使用 PC 使用域凭据登录到 SharePoint 站点,然后加载一个 WebPart,该 WebPart 将 HTTP 请求发送到互联网,HTTP 请求使用了谁的凭据?

【问题讨论】:

    标签: http authentication sharepoint sharepoint-2010 request


    【解决方案1】:

    在发送 HTTP 请求时,将使用当前登录到 SharePoint 站点的用户的凭据。 如果站点和 SharePoint 位于同一个域中,SharePoint 提供了自动登录的便利,但如果用户注销并且新用户登录,则将使用新用户凭据,它与谁登录无关到系统。

    谢谢

    萨希尔

    【讨论】:

      【解决方案2】:

      我假设你会这样做:

       WebClient webClient = new WebClient();
       webClient.Credentials = System.Net.CredentialCache.DefaultCredentials;
       byte[] data = webClient.DownloadData("address");
      

      不会使用 UserA 和 UserB 凭据。

      如果您使用默认 NTLM Windows 身份验证协议,则不可能以登录用户的身份进行任何外部(对任何其他计算机)请求。

      如果您的域被配置为使用 Kerberos 协议,那么 SP 可能能够(根据 Kerberos 配置)以在另一台计算机上运行的登录用户服务(例如 HTTP)的身份进行外部调用。

      如果您将调用 HTTP 请求封装到 SPUtility.RunWithElevatedPriviliges 请求将在 SharePoint 系统帐户(类似于 sp_service)的身份下完成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-30
        • 1970-01-01
        • 2020-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多