2013-02-19 100 views
1

我迁移代码调用从2010年至2013年的Project Server 2013 PSI从SharePoint 2013

我有我在Sharepoint调用PSI部署一个用户控件。在2010年它运作良好。现在在2013和声明身份验证中,我总是会得到:“HTTP请求未经客户端身份验证方案'Ntlm'的授权。从服务器收到的身份验证头是'NTLM,Negotiate'。”当我用任何用户(甚至是项目管理员)调用任何PSI(甚至GetCurrentUserUid)时。

它看起来像凭证不传递给PSI,它将其称为匿名。任何人都可以帮忙

我从SharePoint执行的代码又如:

ProjectContext projContext = new ProjectContext(PROJECT_SERVER_URL); 
projContext.Load(projContext.EnterpriseResources); 
projContext.ExecuteQuery(); 

我得到拒绝访问。

谢谢

+0

你修改你的app.config尚未凭证?看看[我的答案在这里]的后半部分(http://stackoverflow.com/questions/2608887/sharepoint-web-services-the-http-request-is-unauthorized-with-client-authenti/2609909#2609909)查看您需要修改的部分。 – 2013-02-20 13:20:39

+0

@Kit在我的情况下,它将是web.config。我通过代码配置客户端,因此web.config中没有任何内容。 'This.HttpBinding = 新的BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly); this.HttpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;' – David 2013-03-04 10:08:32

回答

-1

您需要首先登录到SharePoint。下面的位将给你一个有效的上下文。

public static ProjectContext GetContext() 
{ 
    ProjectContext projContext; 
    using (projContext = new ProjectContext("pwaUrl"])) 
    { 
     SecureString passWord = new SecureString(); 

     foreach (char c in "yourPassword".ToCharArray()) passWord.AppendChar(c); 

     projContext.Credentials = new SharePointOnlineCredentials("youremailaddress", passWord); 
    } 
    return projContext; 
} 
+0

您的解决方案不符合我的需要。我想使用当前的用户凭据,而不是硬编码的... – David 2016-06-03 07:58:58

0
public static ProjectContext GetContext() 
    { 
     ProjectContext projContext; 
     using (projContext = new ProjectContext("pwaUrl")) 
     { 
      SecureString passWord = new SecureString(); 

      foreach (char c in "YourEmailPassword".ToCharArray()) passWord.AppendChar(c); 

      projContext.Credentials = new SharePointOnlineCredentials("YourEmail", passWord); 
     } 
     return projContext; 
    } 
0

您是否尝试过使用设置 projContext.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

+0

应该是一个评论 – 2016-08-12 09:30:03

+0

很久以前,但我认为我试过 – David 2016-08-16 12:12:11

+0

我无法添加评论 – Ariwibawa 2016-12-02 07:13:30