Sharepoint 服务器上托管的 ASP.NET Web 应用程序出现 Sharepoint 2007 NTLM 问题

2024-03-12

我在 Sharepoint 2007 机器上托管一个 ASP.NET Web 应用程序,该应用程序对 Sharepoint 进行 Web 服务调用以检索文档位置(特别是 GetListItems 方法)。

该服务通过传递具有适当权限的有效 Sharepoint 帐户的凭据来使用。

ListServiceWrapper listService = new ListServiceWrapper();

/*Pass credentials to service call object*/
listService.Credentials = new NetworkCredential(spUserName, spPassword, spDomain);

/*Set the Url property of the service for the path to a subsite.*/
listService.Url = ConfigurationManager.AppSettings.Get("rootSite") + "/_vti_bin/lists.asmx";

当 Web 应用程序在我的开发盒上本地运行时(我是同一域上的 Sharepoint 用户),服务调用效果很好。当部署到 Sharepoint 框时,应用程序返回:

请求失败,状态为 HTTP 401:未经授权。

我们尝试将 Sharepoint 框中 Web 应用程序的应用程序池用户更改为授权的 Sharepoint 用户,但仍然没有任何运气。我想如果我们将 Sharepoint 身份验证更改为 Kerberos 而不是 NTLM,就可以解决该问题。不幸的是,这不是一个选择。这可能与 NLTM 双跳问题有关吗?


是的,这与双跳问题有关。
在 NTLM 中,不允许您对远程服务进行身份验证。正如您所说,您需要 Kerberos 将凭据委托给其他服务。

您可以尝试的选项:

  • 切换到 Kerberos。这是唯一正确的解决方案,但它并不那么容易,因为您必须创建所有 SPN 并确保端口 88 已打开。
  • 在 SharePoint 框中安装 ASP.Net 应用程序并激活禁用环回检查 http://support.microsoft.com/kb/896861
  • 使用服务帐户登录 SharePoint。在这种情况下,SharePoint 将不会在用户帐户下运行,因此您必须自己处理安全性
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sharepoint 服务器上托管的 ASP.NET Web 应用程序出现 Sharepoint 2007 NTLM 问题 的相关文章

  • 如何以编程方式检索“Program Files”文件夹的实际路径? [复制]

    这个问题在这里已经有答案了 可能的重复 C 如何在 Windows Vista 64 位上获取程序文件 x86 https stackoverflow com questions 194157 c sharp how to get prog
  • .Net 将 NULL 值从变量值插入 SQL Server 数据库

    也有类似的问题 但答案不是我想要的 如果引用为 NULL 或尚未分配值 我想将 NULL 值插入 SQL Server 数据库 目前我正在测试 null 它看起来像 String testString null if testString
  • Golang 网络爬虫 NTLM 身份验证

    Golang 网络抓取工具需要从经过 NTLM 验证的网页中提取信息 有了有效的用户名和密码 网络抓取工具如何与服务器进行 NTLM 4 次握手 以获得对后面受保护网页的访问权限 url username password http www
  • 在 Orchard 中设置唯一的主体类和 ID

    有没有办法在 Orchard 中为每页设置唯一的正文类和 ID 我希望能够在 编辑页面 部分控制这些 例如 主页的正文 ID 为 home 关于页面的正文 ID 为 about 等 并且 如果 about 页面下有子页面 这些页面将具有 a
  • Sqlite 删除速度极其慢 - 如何加快速度?

    我读到删除操作很慢 我想知道如何改进此检查 我有一个每天填充 10 15k 行的表 每次启动时我都需要清理所有超过 6 个月的记录 但是当数据库增长时 我开始遇到速度问题 当我运行此命令时 有接近 100 万条记录 即使我没有任何内容要删除
  • 在程序集“SMSApp”中发现了不止一种迁移配置类型。指定要使用的名称

    我正在使用代码优先方法开发 mvc 5 应用程序 我面临一个问题 第一次当我尝试下面的命令时 它起作用并在该数据库中生成表 但是当我更改了更多类 然后尝试前两个查询时 它在这种情况下有效 但是当我尝试第三个命令时 它给了我这条消息 Firs
  • GC.Add MemoryPressure() 如何知道要向哪个对象添加内存压力?

    我最近需要使用GC 添加内存压力 http msdn microsoft com en us library system gc addmemorypressure aspx令我感到奇怪的是 它不接受添加内存压力的对象作为参数 我认为因为它
  • 无法通过 HTTPS 调用 Web 服务

    我正在开发一个 Net 应用程序 它与 Web 服务通信以获取一些数据 Net 应用程序和 Web 服务之间的连接是通过 HTTPS 完成的 当我从 Net 应用程序调用 Web 服务时 我得到以下堆栈跟踪 System Net WebEx
  • 从事务范围调用 WCF 服务方法

    我有这样的代码 using TransactionScope scope TransactionScopeFactory CreateTransactionScope some methodes calls for which scope
  • Windows 服务:错误 5:访问被拒绝

    我正在尝试创建一个简单的 Windows 服务 该服务的用户帐户是NetworkService 然后我跑了installUtil从命令提示符我得到了这个 提交阶段完成 成功地 事务安装已完成 这意味着服务已成功安装 但是当我尝试从Servi
  • 如何将数据插入 Microsoft Access 数据库?

    我正在尝试将数据插入 Microsoft Access 数据库 我将数据插入到 Access 数据库中 但只有第一次和第二次显示我插入的数据 当我重建应用程序时 我插入的数据消失了 我不知道他们去了哪里并且没有出现 我使用 C 和 NET
  • 为什么 GridView Rowupdating 事件不捕获文本框的新值?

    我正在使用网格视图 当我单击编辑按钮时 会出现更新和取消按钮 修改来自 EditItemTemplate 的文本框中的值后 新值不会显示在事件处理程序 rowupdating 中 而是获取渲染页面时出现的值 如何从这些文本框中获取新值并进一
  • “System.Int32”类型的表达式不能用于返回类型“System.Object”

    我正在尝试制作一个简单的脚本系统 用于打印标签 我过去曾通过反射完成此操作 没有任何问题 但我现在尝试使用 Lambda 函数来完成此操作 以便可以缓存函数以供重用 到目前为止我的代码如下 public static string GetV
  • LINQ:获取表详细信息

    我正在使用 LINQPad 我想了解表的架构详细信息 我知道我是用 SQL 来做的 SELECT column name FROM information schema columns WHERE table name table name
  • C#、Visual Basic.NET 和托管 C++ 之间的字符串文字有何区别?

    我指的是在代码中编写字符串的语法 包括多行字符串和逐字字符串 上下文 我正在开发一个扫描代码的工具 确定令牌何时位于字符串内非常重要 Thanks 这是语言之间的快速细分 托管 C 以与普通 C C 或 C 类似的方式支持字符串文字 也就是
  • List.Clear() 在 C# 中是如何实现的?

    我假设它使用数组来实现 List 怎么List Clear 实施的 它实际上清理了数组还是只是为此列表创建了一个新数组 public class List private Array array public void Clear1 arr
  • 如何嘲笑一切?

    我了解如何模拟接口或虚拟方法调用 但是像 TypeMock 这样的框架可以模拟框架中的所有内容 使用哪些 NET机制来提供此类功能 例如 Typemock Isolator 使用 CLR分析器API http msdn microsoft
  • 为什么 int 数组的最大大小小于 Int32.MaxValue? [复制]

    这个问题在这里已经有答案了 虽然这篇文章说它应该有效 https stackoverflow com questions 2338778 what is the maximum length of an array in net on 64
  • 如何在 C# 中捕获等待的异步方法的异常?

    我基本上想知道在 C 中我应该如何捕获通过等待的异步方法的异常await关键词 例如 考虑以下小控制台程序 其中最重要的是包含一个名为AwaitSync AwaitSync calls TestAsync 它返回一个任务 执行时会抛出异常
  • C#“var”关键字在 VB.NET 中的等价物是什么?

    例如 我如何获得 VB NET静态类型局部变量是static赋值右侧的表达式的类型 像这样 Dim http msdn microsoft com en us library 7ee5a7s1 aspx我的变量 3 你还需要 选项推断 ht

随机推荐