5

SharePoint Foundation 2010を使用しています。サーバーオブジェクトモデルを使用してコンテンツデータベースとサイトコレクションを作成しています。 SharePointには1000人以上のユーザーがいます。コンテンツデータベースとサイトコレクションの作成は管理タスクであるため、ファーム管理者だけが行うことができます。私たちの場合、どのユーザーもファーム管理者アカウントでコンテンツデータベースとサイトコレクションを作成できるはずです。 SPUserを使うことができますか?これを行うには他の方法がありますか?上記の問題を解決するためのコードやリンクを教えてください。サーバーオブジェクトモデルでファーム管理者を偽装する方法

答えて

2

SPSecurity.RunWithElevatedPrivlegesを使用する必要があるようです。これにより、 ファーム管理者 アプリケーションプールアイデンティティアカウントのようにコードを実行できます。コードを実行しているユーザーに フル のアクセス権を与えるため、注意してください。

SPSecurity.RunWithElevatedPrivileges(delegate() 
{ 
    using (SPSite topSite = new SPSite("URL_OF_YOUR_SITE_COLLECTION")) 
    { 
     //Any code you run here would run with the permissions of the application pool identity 
    } 
}); 
+4

これは事実上間違っている - (あなたのコードの全体管理内で実行されていない限り)RunWithElevatedPrivilegesはファームAdministatorされていないでアプリケーションプールIDとしてコードを実行します。 –

+0

あなたが正しいです、私は訂正して投稿を編集しました。それを指摘してくれてありがとうございます。 –

+0

@PeterJacobyあなたもおそらくコードコメントを修正するべきです:) –

関連する問題