拒绝访问。您无权执行此操作或访问此资源

时间:2014-07-02 09:13:30

标签: sharepoint

我有一个DEV环境,我开发代码并使用本地Sharepoint。 我有一个TEST环境,我在其中部署我的应用程序并在TEST服务器上使用Sharepoint。 我正在使用Sharepoint 2010。 我有一个客户端对象模型,我用它来保存共享点服务器中的文档。 我正在使用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.ServerUnauthorizedAccessException:拒绝访问。您无权执行此操作或访问此资源。

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

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

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

1 个答案:

答案 0 :(得分:3)

我找到了我所缺少的东西

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

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