Ömer Çelik

Yazılımcının Günlüğü

Tam Yetkili olarak Sharepoint kodlarını çalıştırmak

Sharepoint ile oluşturulan uygulamalarda kullanıcıların yetkilerini yapacakları işlere göre sınırlandırmaktayız. Fakat bazı işlemler, kullanıcıların yetkilerini aşmaktadır. Bu noktada kullanıcı yetkisi dışında tam yetkili olarak bu işlemleri çalıştırma imkanımız bulunmaktadır.

Bu işlemi SPSecurity.RunWithElevatedPrivileges metoduyla gerçekleştirmekteyiz. Bu metod, içerisinde yazılan kodları uygulamanın domain yöneticisiymiş gibi çalıştırmaktadır (Sharepoint\System). Bu sayede kullanıcının yetkileri ne kadar sınırlı olursa olsun uygulama içerisinde bu kod bloğundaki tüm işlemler gerçekleştirilmektedir.

Kodların çalışma yöntemi ise metod içerisinde oluşturulan bir delegate altında çalışması istenen işlemler yazılır:
SPSecurity.RunWithElevatedPrivileges(delegate()
{
//Çalışacak Kod
});



SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = newSPSite(SPContext.Current.Site.Url))
{
using (SPWeb web = site.OpenWeb())
{
web.AllowUnsafeUpdates = true;
SPList Liste = web.Lists["Duyuru"];
SPListItem Duyuru= Liste.AddItem();
Duyuru["Title"] = "duyuru başlığı";
Duyuru.Update();
}
}
});
Loading