Serkan Ayyıldız

Meraklı bir yazılım uzmanı...

ASP.Net Login Status Kontrolü ve Üye Oturum Yönetimi

ASP.Net meraklısı yazılımcılara ve yazılımcı adaylarına yeniden selamlar :)

Önceki birkaç makalemizde ASP.Net üye işlemleri konusuna dahil olan 
üye olma ve oturum açma kontrollerini öğrenmiştik.Bu makalemizde ise ASP.Net Login Status kontrolünü öğreneceğiz.

Login Status adından da anlaşılabileceği gibi "oturum durumu" anlamına gelmektedir ve ASP.Net sitesine giren kullanıcının oturum açıp açmadığını denetlemektir.Hatta hani bazı sitelerde "oturum aç" linki/butonu olur ve kullanıcı oturum açtıktan sonra üye adımı felan yazar ya işte bu makalemizde öğreneceğimiz konu o fonksiyonu temsil etmektedir.

ASP.Net oturum denetleme kontrolünü Visual Studio'yu açarak öğrenelim.Bunun için yeni bir web form oluşturduktan sonra ToolBox penceresi altında yer alan "Login" ağacı altındaki Login Status'u webformumuza sürükleyip bırakıyoruz:

aspnet-login-status

login-status-control

Projemizin design (tasarım) sekmemize geçtiğimizde ise şu şekilde bir görüntüyle
karşılaşıyoruz:

aspnet-design-login

Gördüğünüz gibi login status kontrolü oldukça sade ve basit bir yapıda yer alıyor ki zaten site ziyaretçisinin durumuna göre ya oturum aç yazar ya da hoşgeldiniz gibisinden bir mesaj verir :)

Kontrolümüzün properties penceresine baktığımızda diğer ASP.Net user kontrollerine göre yine bir sadelik görüyoruz:

login-status-properties

Buraya kadar kontrolün tanıtımını yapmış olduk şimdi ise kontrolümüzü sitemize uyarlamaya geldi.Login status kontrolü içerisinde varsayılan olarak özellikler İngilizce görünüme sahiptir ve doğal olarak kontrolü yapılandırmadan projenizi çalıştırdığınızda sanki Türkçe olmayan bir sitedeymişsiniz gibi davranır.O yüzden kontrolümünüzü güzel Türkçe'mize uyarlayalım..
Öncelikle oturum açmayan kullanıcılar için "login" sözcüğü yerine "oturum aç" mesajını verelim,bunun için properties penceresindeki LoginText özelliğini değiştiriyoruz:

login-status-login-text

Aynı zamanda oturum açmış site üyesi için varsayılan olarak "logout" olan LogoutText özelliğini "Oturumu Kapat" olarak değiştirelim:

aspnet-login-status-logout

login-status-oturum-kapat

Kontrol çok fazla derinlemesine bir yapıda olmadığı için dil değiştirme konusu buraya kadar diyoruz ve aksiyonlara geliyoruz...
Login Status Actions denilen bu yapıda oturum kapama durumuna göre kullanıcının kontrole tıkladığında ne tür bir çıkış yapılacağından bahsediliyor:

login-status-actions

Seçenekler olarak karşımıza Refresh (yenile),Redirect (yönlendir) ve RedirectToLoginPage (oturum açma sayfasına yönlendir) geliyor.
Refresh seçeneğinden bahsedersek site üyesi oturumu kapat butonuna tıkladığında birazdan bahsedeceğimiz arkaplanda gerçekleşecek kodların aynı sayfa içerisinde çalışacağını ve başka hiçbir sayfaya gitmeyeceğini ifade eder.Tabi burada daha önce öğrendiğimiz postback olayı gerçekleşecek.

Redirect seçeneğinde ise yine properties penceresinde görmüş olduğunuz LogoutPageUrl (oturumdan çıkış linki) özelliğine yazılan linke yönlendirilerek üyenin oturumdan çıkış yapması sağlanır.Eğer bu seçenek boş bırakılırsa ileride göreceğimiz ASP.Net Membership ayarlarında yer alan login sayfasına otomatik yönlendirme gerçekleşir.

RedirectToLoginPage seçeneği ise ek bir işlem yapmadan membership ayarlarında yer alan login sayfasına yönlendirme gerçekleştirir.Bu konuda Redirect seçeneği ile oldukça benzer bir yapıya sahiptir.

LoginStatus kontrolünün bir diğer güzel özelliği ise oturum açma ve kapama olaylarına göre kontrolün arka plan resmini istediğimiz şekilde değiştirebiliyor olmamızdır,bunun için LoginImageUrl ve LogoutImageUrl özelliklerini kullanabilirsiniz ancak bu makalemizde bu detaya girmiyoruz.

Şimdi geldik Login Status kontrolünün eventlerine (olaylarına)...

aspnet-login-status-events

Oturum durumu kontrolümüzün olayları yine gayet sade bir şekilde yer almaktadır ve bu makalemizde LoggedOut (oturum kapatıldığında) ve LoggingOut (oturum kapatılıyor) olarak ikiye ayrılmaktadır.
Burada aklınıza neden "oturum açıldığında-açılıyorken" diye olması düşündüğünüz olaylar gelebilir ancak gelmesin çünkü o iki olay daha önce öğrendiğimiz login konusuyla ilgili bir konuydu. :)

Peki o halde basit birkaç C# kod satırı yazalım:



Tam bu aşamada sonucu görmek için projemizi çalıştırmamız gerekiyor ancak çalıştırmıyoruz çünkü ne login sayfamızı oluşturduk ne de membership sistemini projemize dahil ettik.
O yüzden birkaç makale sonrasında ASP.Net Membership (üyelik) makalemizde şimdiye kadar işlediğimiz ve işleyeceğimiz tüm kontrolleri bir arada güzel bir örnekle işleyeceğiz.

Yep yeni güzel bir yazıda görüşmek üzere şimdilik hoşçakalın esen kalın :)



Bir yorum bırak E-posta adresiniz yayınlanmayacaktır.

Menu