Microsoft SharePoint 2013 onPremise Microsoft Project Server 2013がインストールされたファーム。CSOMを介してProject Serverに接続しようとするとServerUnauthorizedAccessExceptionが発生する
プロジェクト情報を取得するためにTeamSiteからCSOMを介してProject Serverに接続する必要があるWebPartを構築しようとしています。
これは私の超簡単なコードです:
string pwaPath = "http://sp2013/PWA";
ProjectContext projContext;
projContext = new ProjectContext(pwaPath);
projContext.Load(projContext.Projects);
projContext.ExecuteQuery();
それを実行しようとすると、私次のエラーを取得する:私は
projContext.Credentials = new NetworkCredential("administrator", "pass", "domain");
は、それが動作する追加
ServerUnauthorizedAccessException
!しかし、ログインしたユーザーを使用してコードを作成するにはどうすればいいですか?上記に渡された資格情報は現在ログインしているユーザーの資格情報です。
問題はProjectContextを作成する方法です。私はProject Serverに慣れていないのでProjectContextです。しかし、SharePointアプリケーションでは、現在のユーザーを偽装するClientContextを作成する場合は、 'var clientContext = TokenHelper.GetS2SClientContextWithWindowsIdentity(hostUri、HttpContext.Current.Request.LogonUserIdentity); ' –
こんにちはHristo、私は試していますファームソリューションを作成するため、私はTokenHelperクラスを持っていません。これはファームソリューション内で可能ではありませんか? – STORM
こんにちは。それについてはわからない。しかし、次のことを考えてみましょう。CSOMの代わりにJSOMを使用するように、Webパーツコードを変更できますか?これにより、ブラウザで現在のユーザーの資格情報とともに実行されます。それ以外の場合は、ユーザーのなりすましを見なければならず、私の経験では決して簡単ではありません。 –