在 Web 应用程序中使用 SharePoint API 以避免页面验证错误

SharePoint Foundation 中的 Web 应用程序依据应用程序池标识运行。出于安全原因,当从 Web 应用程序访问 SharePoint Foundation API 时,大多数 API 都将具有限制。因此,这些 API 会引发大量的页面验证错误。若要避免此问题,请更新 Web 应用程序,如下所述。

若要更新 Web 应用程序以避免出现页面验证错误,请执行下面的步骤:

1. 在 SharePoint 上下文中运行 Web 应用程序

为此,在任意 SharePoint 网站的 _layouts 目录中创建一个虚拟目录,并在该目录下承载 Web 应用程序。

2. 确保合并应用程序池

确保 Web 应用程序在与 SharePoint 管理中心相同的应用程序池下运行。这样可保证通过管理中心应用程序池标识来访问 SharePoint Foundation 管理功能,例如内容部署、用户配置文件管理以及其他功能。

3. 将格式摘要控件添加到 ASPX 页

完成上面的步骤 1 和 2 后,通过 Web 应用程序可以访问大多数 API。但是,某些 SharePoint Foundation API 和功能可能需要更严格的安全验证。如果在实现以上步骤后仍会收到安全验证错误,则必须在 ASPX 页中添加 SharePoint Foundation 格式摘要 Web 控件。当 Web 应用程序尝试访问 SharePoint Foundation API 时,格式摘要控件将对应用程序进行验证。因此,Web 应用程序将被视为安全应用程序并可以访问 SharePoint Foundation。若要使用格式摘要 Web 控件,必须为 SharePoint Foundation 注册一个标记前缀,然后将格式摘要控件添加到 ASPX 页中。

以下代码示例演示如何注册标记前缀:

<%@ Register Tagprefix="SharePoint" 
   Namespace="Microsoft.SharePoint.WebControls" 
   Assembly="Microsoft.SharePoint 
   Version=14.0.0.0
   Culture=neutral, 
   PublicKeyToken=71e9bce111e9429c" %>

现在,可将 SharePoint Foundation 格式摘要控件添加到页面中:

<SharePoint:FormDigest ID="fd" runat="server" PageUri=""/>

必须将格式摘要控件上的 PageURI 属性设置为该控件所在的页面。如果不这样做,您将收到一个空对象引用错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值