WSS상에서 프로그래밍을 하다가 보면 메서드단위의 권한 설정때문에 짜증이 나는경우가 있습니다..-.-
그럴때 써줄수 있는것이 권한승격인데요.
(짜증난다는 이유로 권한승격은 잘못된 선택입니다. 웹파트나 워크플로나 추가기능의 실행시에 관리자 권한이 아니면 실행이 안되는 상황에만 써야 합니다.)
표준적으로는 아래의 것을 사용합니다. SPSecurity.RunWithElevatedPrivileges(delegate()
{
// 여기에 관리자 권한으로 실행해야 할 코드를 기술합니다.
}); 예)
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(web.Site.ID))
{
// "system account"계정으로 코드를 실행합니다.
site.RootWeb.Name = "이름바꾸기";
}
});