使用模拟的 IIS 7.5 站点无权访问 Sharepoint Web 服务

发布于 2024-12-26 18:05:12 字数 1245 浏览 0 评论 0原文

编辑用新信息更新

我一直在尝试配置 ASP.Net 站点以使用 Windows 身份验证模拟,并使用它来调用 Sharepoint 2010 Web 服务。

我在网站上启用了模拟和 Windows 身份验证,并以“经典”.net 4.0 应用程序池身份给出。我显示已登录的用户。当站点从服务器运行时,一切正常 - 用户被正确模拟。尝试使用多个用户帐户(但所有本地管理员......)。这可以将文件上传到共享点,该共享点将“创建者”“修改者”记录为站点用户(而不是应用程序池身份)。这就是我想要的情况。

当从客户端计算机运行时,它会失败。页面已加载,但当尝试以未经授权的 401 访问 Sharepoint 列表服务时,页面似乎失败。进一步的查询向我显示了调用 list.asmx 服务时 Sharepoint 博客的以下信息:

2012-01-12 22:42:52 10.197.104.208 POST /iain/Cesa/_vti_bin/Lists.asmx - 80 - 10.143.16.141 Mozilla/4.0+(兼容;+MSIE+6.0;+MS+Web+服务+客户端+协议+4.0.30319.239)401 0 0 13 2012-01-12 22:42:52 10.197.104.208 发布 /iain/Cesa/_vti_bin/Lists.asmx - 80 - 10.143.16.141 Mozilla/4.0+(兼容;+MSIE+6.0;+MS+Web+服务+客户端+协议+4.0.30319.239) 401 1 2148074254 3 2012-01-12 22:42:52 10.197.104.208 发布 /iain/Cesa/_vti_bin/Lists.asmx - 80 - 10.143.16.141 Mozilla/4.0+(兼容;+MSIE+6.0;+MS+Web+Services+Client+Protocol+4.0.30319.239) 401 1 5 1

来自:http://support.microsoft.com/kb/969060 我知道:“win32 “2148074254”的状态(也定义为 -2146893042 / 0x8009030E / SEC_E_NO_CREDENTIALS)表示“安全包中没有可用的凭据。”换句话说,客户端尚未发送任何凭据。

这看起来像我的网站没有将模拟凭据传递到 Sharepoint 网站。有什么办法解决这个问题吗?因为它可以在服务器上工作,所以我确信它可以工作,但我在试图找到解决方案时束手无策。

edit updated with new information

I've been trying to configure a ASP.Net site to use windows authentication impersonation, and use this to call Sharepoint 2010 web services.

I've enabled impersonation and windows authentication on the site, and given in a "classic" .net 4.0 app pool identity. I display the user that is logged in. When the site is run from the server, everything works fine - the user is impersonated correctly. Tried with several user accounts (but all local admins...). This can upload a file to sharepoint which records the "Created by" "Modified by" as the site user (and not the app pool identity). This is the situation I want.

When run from a client machine, it fails. The page is loaded, but it seems to fail when it tries to access the Sharepoint lists service with a 401 unauthorised. Further inquiries have shown me the following info the Sharepoint weblogs when calling the list.asmx service:

2012-01-12 22:42:52 10.197.104.208 POST /iain/Cesa/_vti_bin/Lists.asmx - 80 - 10.143.16.141 Mozilla/4.0+(compatible;+MSIE+6.0;+MS+Web+Services+Client+Protocol+4.0.30319.239) 401 0 0 13
2012-01-12 22:42:52 10.197.104.208 POST /iain/Cesa/_vti_bin/Lists.asmx - 80 - 10.143.16.141 Mozilla/4.0+(compatible;+MSIE+6.0;+MS+Web+Services+Client+Protocol+4.0.30319.239) 401 1 2148074254 3
2012-01-12 22:42:52 10.197.104.208 POST /iain/Cesa/_vti_bin/Lists.asmx - 80 - 10.143.16.141 Mozilla/4.0+(compatible;+MSIE+6.0;+MS+Web+Services+Client+Protocol+4.0.30319.239) 401 1 5 1

From: http://support.microsoft.com/kb/969060 I know that: "The win32 status of "2148074254" (also defined as -2146893042 / 0x8009030E / SEC_E_NO_CREDENTIALS) means "No credentials are available in the security package." In other words, the client has not sent any credentials."

This looks like my web site is not passing the impersonated credentials to the Sharepoint site. Is there any way of solving this? Because it works from the server I'm sure it can work, but I'm at my wits end trying to find a solution.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

紙鸢 2025-01-02 18:05:12

这是由使用 NTLM 而不是 Kerberos 的 Windows 身份验证引起的(我以为是使用 Kerberos...)。

我正在考虑正确配置 Kerberos,但这是一项艰巨的任务。在此期间,我只是简单地移动了该网站,现在它与它所联系的 Web 服务托管在同一 SharePoint Web 前端上。现在有双跳,不需要委派凭据,所以它可以工作:)

This is caused by windows authentication using NTLM rather than Kerberos (I thought it was using Kerberos...).

I'm looking into getting Kerberos properly configured, but this is a big task. In the meatime I have simply moved the site and it is now hosted on the same SharePoint web front end as the web services it is contacting. Now there is now double hop, no need for deleaged credentials, and so it works :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文