İpucu

Çalıştığınız şirkette yada kendi şirketinizde muhasebe programları, teknik servis için kullanılan programlar, sadece yöneticilerin kullanmasını istediğiniz programlar olabilir. Bu aşamada server taraflı yetkilendirmeden önce windows oturumuna göre bir yetkilendirme yapılabilir. Şöyleki; bu bilgisayarda admin hesabı ile oturum açan birisi bu programı çalıştırabilsin açmayan çalıştıramasın gibi. Yada daha da çeşitlendirilerek windows oturum açma izinlerine göre programda yapılabilecek şeylerde ayarlanabilir. Örneğin; okuma,yazma,çalıştırma vs. yetkiler gibi.

Bu yazımda windows oturumunu admin hesabı ile mi açtı yoksa admin dışında daha alt düzey yetkil ile mi oturum açıldı bunu aşağıdaki C# kodları ile göreceğiz.

Öncelikle projemize aşağıdaki kütüphaneyi ekliyoruz.

using System.Security.Principal;

Kütüphaneyi ekledikten sonra aşağıdaki kodları formun Load ına yada siz nerede kotrol ettirmek istiyorsanız oraya yazabilirsiniz.

 

WindowsIdentity kullaniciKimlik = WindowsIdentity.GetCurrent();

WindowsPrincipal principal = new WindowsPrincipal(kullaniciKimlik );

bool IsAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);

if (!IsAdmin)

{

    MessageBox.Show("Admin yetkilerine sahip değilsiniz!");

}

else
{
    
MessageBox.Show("Kullanıcı Admin");
}

Burada "kullaniciKimlik" değişkenine kullanıcının o bilgisayardaki kimlik bilgilerini yani adı,yetkisi vs. atıyoruz. "Pricipal" değişkenine rollerini atıp IsAdmin ile kontrol ettiriyoruz. Admin olup olmadığına göre de if -else blokları arasına yaptırmak istediğiniz kodları yazdırabilirsiniz.