Asp.Net

Published on Haziran 21st, 2010 | by Erkan Hacıoğlu

4

MasterPage içerisinde User.Identity.IsAuthenticated kullanmak

Selamlar,

Normalde aspx sayfaları içerisinde kullanıcının onaylanıp onaylanmadığı yani sisteme login olup olmadığının kontrol edilmesini aşağıdaki gibi bir kod kullanarak yapabiliriz.

[vbnet]

If User.Identity.IsAuthenticated Then
‘yapılacak işlem…
Else
‘yapılacak işlem…
End If

[/vbnet]

Ancak bu kodları MasterPage içerisinde kullanmak istediğinizde hata verecektir. Nedeni ise sayfanın page sınıfından yerine masterpage sınıfından türetilmiş olmasıdır. Peki IsAuthenticated özelliğini nasıl kullanabiliriz?

Birkaç alternatif mevcut. Ben 1. seçeneği kullanıyorum.

Çözüm 1 : User Property‘ sini barındıran ana classlardan biri HttpContext sınıfıdır. Bu sınıfa aşağıdaki gibi direkt olarak erişip kullanabilirsiniz.

[vbnet]

If HttpContext.Current.User.Identity.IsAuthenticated Then
‘yapılacak işlem…
Else
‘yapılacak işlem…
End If

[/vbnet]

Çözüm 2 : User Property‘ sinin asıl kaynağı System.Security.Principal.IPrincipal Interface’i dir.

[vbnet]

Dim User As System.Security.Principal.IPrincipal = HttpContext.Current.User

If User.Identity.IsAuthenticated Then
‘yapılacak işlem…
Else
‘yapılacak işlem…
End If

[/vbnet]

Çalışmalarınızda faydalı olması dileğiyle.
Kolaylıklar

Tags: , , , , , , , , , , ,


About the Author

Kodlama dünyasına 2001 yılında adım atıp bir daha bu dünyadan çıkamayan, internetin oksijen, ekmek, su gibi olduğunu düşünen bir insan…



4 Responses to MasterPage içerisinde User.Identity.IsAuthenticated kullanmak

  1. Yavuz says:

    Çok teşekkürler gerçekten çok makbule geçti..
    Birde masterpage anadizinde duruyor.Bir kaç sayfam klasör içinde.
    Klasör içindeki sayfalarda masterpage i görmüyor.o sayfalarda masterpage i kullanmam için ne yapmam lazım?
    -masterpage te html img tagları yerine asp image kullanıldığında resimler geliyor ancak css içinde mesela arkaplan resmini kullanamıyor!
    Şimdiden çok tşkler…

  2. Selamlar,

    Geç cevap yazdım kusura bakma. Klasör içerisinde olan asp.net sayfaları için MasterPage yolunu ../masterpage.aspx gibi verebilirsin. Burada ne kadar klasör yolun varsa o kadar ../ ile üst dizine çıkabilirsin.

    Css ve resimlerle ilgili problemin için örnek yollayabilirsen inceleyebilirim.

    Kolaylıklar

  3. ilhan says:

    Hocam elinize sağlık oldukça faydalı oluyor paylaşımlarınız teşekkürler

  4. Faydalı olabiliyorsam ne mutlu bana 🙂

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back to Top ↑