権限の昇格
最終更新日: 2010年4月7日
適用対象: SharePoint Foundation 2010
Windows SharePoint Services 3.0 に追加された機能である権限の昇格を使用すると、本来より高いレベルの権限を使用して、操作をコード形式でプログラム的に実行できます。SPSecurity.RunWithElevatedPrivileges メソッドにより、現在のユーザーよりも高い権限を持つアカウントのコンテキストでコードのサブセットを実行する権限を委任できます。
RunWithElevatedPrivileges の標準的な使用は次のとおりです。
SPSecurity.RunWithElevatedPrivileges(delegate()
{
// Do things by assuming the permission of the "system account".
});
多くの場合、SharePoint 内で操作を行うには、新しい SPSite オブジェクトを取得して、変更を有効にする必要があります。次に例を示します。
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(web.Site.ID))
{
// Do things by assuming the permission of the "system account".
}
});
権限の昇格を使用すると、強力な方法で詳細にセキュリティを管理できますが、この機能を使用する場合は十分注意する必要があります。権限の低いユーザーに対しては、本来与えられた権限を超えるような直接的な無制限のメカニズムを公開しないでください。
重要 |
---|
RunWithElevatedPrivileges に渡されたメソッドに書き込み操作が含まれる場合、SPUtility.ValidateFormDigest() または SPWeb.ValidateFormDigest() のどちらかの呼び出しが行われる前に、RunWithElevatedPrivileges への呼び出しを行う必要があります。 |