C# ve LDAP ile Kullanıcı Doğrulama
LDAP (Lightweight Directory Access Protocol) TCP/IP üzerinde çalışan dizin servislerini sorgulama ve değiştirme amacıyla kullanılan uygulama katmanı protokolüdür. Bu protokol, OpenLDAP, Sun Directory Server, Microsoft Active Directory gibi dizin sunucuları tarafından kullanılmaktadır. LDAP tüm kullanıcılarının en hızlı şekilde ve sürekli olarak bilgiye ulaşmalarını sağlayabilmek için, hızlı, ölçeklenebilir ve yönetilebilir bir ağ altyapısı kurmak için oluşturulmuştur. Bilgisayarların yoğun olarak kullanıldığı ağ üzerindeki IP (Internet Protocol) adres ayarlarının otomatik olarak gerçekleştirilebilmesi amacıyla LDAP (Light Weight Directory Access Protocol) kayıtlarını kullanan bir otomatik IP atama sistemi kullanılır.
Referans olarak System.DirectoryService'ı projenize eklemeniz gerekmekte.
using System.DirectoryServices;
public bool UserAuthenticate(string userName, string password, string domainAddress)
{
bool isValid = false;
//Kullanıcı doğrulanamaz ise hata oluşacaktır.
try
{
DirectoryEntry entry = new DirectoryEntry("LDAP://" + domain, userName, password);
object nativeObject = entry.NativeObject;
isValid = true;
}
catch { }
return isValid;
}
Kaynak:
- Ldap Hakkında: http://tr.wikipedia.org/wiki/LDAP
Silverlight Multiple Monitor ve FullScreen
Siverlight'da uygulamanızı tam ekran çalışmasını istiyorsunuz. Bilindiği gibi Esc tuşu veya focus lost olduğu zaman tam ekrandan çıkmaktadır. Lakin uygulamanız çoklu monitör kullanan bir kullanıcı tarafından bir ekranda çalışırken, diğer ekranda tam ekran uygulamanızı izlemek isteyebilir. Bu durumda uygulamanızı tam ekran yaptığında, diğer monitörde çalışmaya başlayınca uygulama normal görünüme geri döner. Çünkü fullscreen default olarak multi monitör desteklememekte ve focus lostta uygulama fullscreenden çıkmaktadır. Buna izin vermek için;
Application.Current.Host.Content.FullScreenOptions =
System.Windows.Interop.FullScreenOptions.StaysFullScreenWhenUnfocused;
Bu kod öbeği ile uygulamanız fullscreen olarak çalıştırılmak istenildiğinde, uygulama izin isteyecektir.
Kullanıcı eğer onay verirse bundan sonra fullscreen yaptığında focus lost olma durumunda, uygulamanız tam ekrandan çıkmayacaktır.
Silverlight’da FullScreen
Silverlight uygulamanızı fullscreen olarak kullanmak oldukça basit. Fullscreen yapmak silverlight'da oldukça basit olmasıyla birlikte fullscreen yaptığınızda bir sorun ile karşılaşabilirsiniz. Uygulamanıza bir textbox koyup, fullscreen yaptığınızda textbox'a yazamadığınızı göreceksiniz. Silverlight'da fullscreen çalıştırıldığında, belirli tuşlar haricinde tuşların kullanılması güvenlik sebebiyle engellemiş durumda. İzin verdiği tuşlar ise şunlar;
- UP ARROW
- DOWN ARROW
- LEFT ARROW
- RIGHT ARROW
- SPACEBAR
- TAB
- PAGE UP
- PAGE DOWN
- HOME
- END
- ENTER
Aşağıdaki kod parçacığı, uygulamanızı fullscreen çalışmasını sağlamaktadır. Buton click eventine bunu eklediğiniz taktirde, butona tıkladığınızda uygulamanız fullscreen olacaktır.
Application.Host.Content.IsFullScreen = true;
Yine aynı şekilde butona tıklanıldığında fullscreenden çıkmak istiyorsanız;
Application.Host.Content.IsFullScreen = false;
demeniz yeterli olacaktır. Yapacağınız uygulamada butona tıkladığınızda tam ekran tekrar aynı butona tıklanıldığında normal görünüme geçmesini istiyorsanız;
Application.Host.Content.IsFullScreen = !Application.Host.Content.IsFullScreen;
işinizi görecektir. Bu kod parçacığı, uygulamanız normal görünümdeyken tıklanıldığında, ekranı kaplayacak ve aynı şekilde tam ekran çalışırken de tıklanıldığında normal haline geri dönüş yapacaktır. Tabi fullscreen yaptığınız'da göreceğiniz üzere ESC tuşuna bastığınızda da normal görünüme geçecektir.