Posts Tagged ‘Sharepoint Webpart’
Sharepoint Web Part’larından geçerli kullanıcıyı öğrenme
Sharepoint Web Part’larından geçerli kullanıcıyı öğrenme
Sharepoint Web Part’ı geliştirirken kullandığım bazı püf noktalarını sizlerle paylaşmak istiyorum. işte bugünkü püf noktamız:
Windows Authentication kullanıyorsanız siteye bağlanan kullanıcıları öğrenmenin 2 yolu var:
a) Request.ServerVariables koleksiyonundan
string kullanici = string.Format("Request.ServerVariables[\"REMOTE_USER\"] : {0}",
HttpContext.Current.Request.ServerVariables["REMOTE_USER"]);
Bu yöntemle sadece kullanıcının windows ismini alabilirsiniz.
b) Sharepoint’e sorarak
// öncelikle şu an kullanılan websitesine ulaşmamız lazım SPWeb currentWeb = SPContext.Current.Web; // buradan kullanıcıya ulaşabiliriz SPUser currentUser = currentWeb.CurrentUser;
Sharepoint bize kullanıcı ile ilgili detaylı bilgiler verebilmektedir. Mesela adı, soyadı, email adresi, v.b. Ayrıca kullanıcının yetkileri ile ilgili bilgilere de ulaşabilmekteyiz. En basit olarak SPUser.IsSiteAdmin özelliği bize kullanıcının sitenin admin’i olup olmadığını göstermektedir.
Sharepoint Web part yayınlarken gelen güvenlik hatası
Sharepoint için Webpart yazdıktan sonra bu webpart’ı yayınlarken veya yayınladıktan sonra sayfada kullanmak istediğimizde şöyle bir hata ile karşılaşıyorsak :
System.Security.SecurityException: Request for the permission of type ‘Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c’ failed
bunun sebebi webpart projesinin dll’ini GAC’a yerleştirmeyi unutmanızdan kaynaklanıyor olması çok muhtemel(Bende böyle oldu da
. Yapılması gereken ilgili webpart GAC’a eklenmeli sonrada iis restart edilmelidir.
Normalde bin dizini altına dll’i attığınızda bu webpart için yeterli olmaktadır. İstisnai durumlar ise Webpart içinde veri tabanına bağlandığınızda karşımıza çıkar. Veri tabanına bağlanan bir webpart geliştirdiğimizde bunu mutlaka GAC’a atmalıyız.

