【问题标题】:POST REST call on sharepoint 2013 send a 403 forbiddensharepoint 2013 上的 POST REST 调用发送 403 禁止
【发布时间】:2014-11-01 12:02:19
【问题描述】:

我有一个问题。

在 sharepoint 2013 上,有一种修改列表的方法,例如使用 REST 调用。

所以 get 调用正常(只读) 对 site/_api/contextinfo 的 post 调用没问题,我检索了令牌

但是当我使用 X-RequestDigest 和 NTLM 身份验证调用另一个帖子 (PUT) 时,我遇到了这个错误:

{"error":{"code":"-2130575251, System.Runtime.InteropServices.COMException","message":{"lang":"en-US","value":"安全验证此页面无效。在您的 Web 浏览器中单击“返回”,刷新页面,然后重试您的操作。"}}}

一个想法?

【问题讨论】:

  • 现在我使用基本身份验证,但总是同样的问题,没人知道吗?

标签: rest sharepoint-2013 ntlm


【解决方案1】:

我不清楚您是否尝试访问 SharePoint Online,我假设您尝试访问 SharePoint Online 是因为您说您生成 BinarySecurityToken。

基本上,您需要在 RESTfull 调用中将三个值作为标头传递。

  1. rtFa 作为 Cookie
  2. FedAuth 作为 Cookie
  3. FormDigestValue 作为 X-RequestDigest

为了获得 rtFa 和 FedAuth,您需要将 BinarySecurityToken 传递给您的 SPO 站点,SPO 单点登录过程将在验证您的令牌后生成这些身份验证 Cookie。

此链接将指导您生成上述值, https://denuwanhimangahettiarachchi.blogspot.com/2017/03/generate-sharepoint-online-rest-api.html

【讨论】:

  • 4 年前不记得我是如何让它工作的,对不起,我不得不像现在一样添加回复......谢谢大家
【解决方案2】:

检查这个答案:https://stackoverflow.com/a/32824960/5243272 您必须将请求摘要表单添加到您的正文标签中。

<form runat="server">
     <SharePoint:FormDigest ID="FormDigest1" runat="server"> </SharePoint:FormDigest>
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-03
    • 2020-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多