拒绝访问.您没有执行此操作或访问此资源的权限



我有一个DEV环境,我在那里开发我的代码,我使用本地Sharepoint。我有一个测试环境,我在测试服务器上部署我的应用程序和使用Sharepoint。我用的是Sharepoint 2010。我有一个客户端对象模型,我用它在sharepoint服务器上保存文档。我正在使用Microsoft.Sharepoint.Client库编写以下代码;

    public void Save(byte[] file, string url)
    {
        using (var context = new ClientContext(this.SharepointServer))
        {
            var list = context.Web.Lists.GetByTitle(this.DocumentLibrary);
            var fileCreationInformation = new FileCreationInformation
                                              {
                                                  Content = file,
                                                  Overwrite = true,
                                                  Url = url
                                              };
            var uploadFile = list.RootFolder.Files.Add(fileCreationInformation);
            uploadFile.ListItemAllFields.Update();
            context.ExecuteQuery();
        }
    }
}

当我在开发环境中运行这段代码时,文档按预期保存在Sharepoint上。当我部署到测试环境时,当文档保存到不同的Sharepoint服务器时,我得到以下异常:

Microsoft.SharePoint.Client。serverunauthorizedaccesssexception:拒绝访问。您没有执行此操作或访问此资源的权限。

所以这里有一个权限问题。

但是,当我在开发服务器上更改代码以将文档保存到测试服务器上的Sharepoint时,它可以工作。同样的Sharepoint不会保存我在测试中部署的应用程序中的文档。我也用相同的用户名和密码登录表单认证。

那么为什么会发生这种情况,我应该去哪里修复它?

我发现我错过了什么

我需要为上下文设置凭据;

context.Credentials = new NetworkCredential(this.UserName, this.Password, this.Domain);

最新更新