2016-08-23 10 views
0

MVC 5アプリケーション(Windows認証付き)にログインしている現在のユーザーを、新しいListItemのAuthorフィールドとEditorフィールドに配置しようとしています。Sharepointクライアントオブジェクトモデル編集者とエディタフィールド

、私はちょうどSharePointクライアントコンテキストにユーザーの資格情報を渡すために成功しなかったので、私が代わりにそれがローカルホストで正常に動作SharePointクライアントオブジェクトモデル

using SP = Microsoft.SharePoint.Client; 

... 

SP.User SPuser = context.Web.EnsureUser(Request.LogonUserIdentity.Name); 
//SP.User SPuser = context.Web.EnsureUser("mydomain\\someuser"); //same result as above 
context.Load(SPuser); 
context.ExecuteQuery(); 

SP.FieldUserValue userValue = new SP.FieldUserValue(); 
userValue.LookupId = SPuser.Id; 

SP.ListItem documentLi = documentFile.ListItemAllFields; 

... 

//We don't want the application pool identity here, but the current user 
documentLi["Author"] = userValue; 
documentLi["Editor"] = userValue; 

documentLi.Update(); 
context.ExecuteQuery(); 

を使用して、これらの二つのフィールドを編集しようとしたが、何もサーバー上で試してみると、これらの2つのフィールドはアプリケーションプールのIDを保持します。

私は何を欠席しましたか?

答えて

0

ローカルホストでは、アプリケーションプールのIDは、IISのアプリケーションプールIDとは異なり、SharePointリストの完全な制御権を持つユーザーです(これは単にアクセス許可を与えていました)、昇格したら正常に機能しました完全なコントロールも備えています。

関連する問題