Web.Config Dosyasında Authentication Ayarları

by Yasin Kızılbakır 13. Eylül 2011 00:14

Merhaba  arkadaşlar bu makalemde sizlere web.config dosyasında authentication hakkında kısa bilgi vereceğim. Web uygulamalarında üyelik siteminde veriler veri tabanında saklanmaktır. Bu Bilgiler web servis yoluyla yada metin tabanlı dosyadan da getirme durumları olabilir. Web config’de Kullanıcı ad ve şifre saklamanın mantığı web uygulamamızda sadece bir tane kullanıcı adı ve şifre kullanıyorsak ve bu kullanıcıların detaylı bilgilerine ihtiyacımız yoksa ,veri tabanında bu kullanıcı için bir tablo ve bunun insert,update,delete işlemi ile uğraşmak istemeyebiliriz. Bu tip uygulamalarda web.config’ bilgilerimizin FormsAuthentication işimizi kolaylaştırıyor.

Şimdi sizlere örnek ile işlemleri nasıl yapıldığını ve yönetildiğiniz inceleyelim.

web.config dosyasında system.web > authentication > forms > credentials elementi altına <user> elementleri ile tanımlayacağımız kullanıcı bilgileri aşağıdaki kod parçasında görülmektedir.

web.config

  <system.web>

    <authentication mode="Windows">

      <forms>

        <credentials passwordFormat="Clear">

          <user name="yasin" password="1245"/>

          <user name="ahmet" password="asdasd"/>

        </credentials>

      </forms>

    </authentication>

  </system.web>

<credentials> elementi içerisindeki passwordFormat bilgisi kullanıcılar için tanımlanan şifrenin hangi formatta saklanacağını belirliyor. Kullanabileceğimiz formatlar Clear, MD5, SHA1. Burada Clear kullandık, yani şifreler aynen yazıldığı gibi olacak, herhangi bir hashleme yöntemi yok. Eğer kullanıcının şifresini MD5 veya SHA1 formatıyla hashlersek, hashlenmiş şifre metnini <user> elementi içerisindeki password niteliğine atamamız gerekiyor. web.config dosyasının başkaları tarafından görüntülenmesi ve kullanıcıya ait şifrenin öğrenilmesini istemiyorsak tabi ki MD5 veya SHA1 kullanmalıyız. Bir metnin MD5 veya SHA1 formatındaki değerini elde etmek için FormsAuthentication.HashPasswordForStoringInConfigFile metodunu kullanabilirsiniz.

Kullanıcıların doğrulanması için ise FormsAuthentication sınıfına ait Authenticate metodunu kullanmamız gerekiyor. Bu metot kullanıcı adı ve şifresi bilgilerini alarak, web.config'de yer alan bilgilerle karşılaştırma yapıyor ve bilgiler doğru ise boolean tipinden true, değilse false değeri döndürüyor. Aşağıdaki örnek kodlarla böyle bir kontrolü gerçekleştirebiliriz.

Not:Web.config dosyasında güncelleme işlemi yaptığımızda uygulama restart etmektedir. Bu nedenle ,özellikle canlı ortamlarda <user> elementi içerisindeki kullanıcı bilgilerini sıklıkla değiştirirken uygulamanın yeniden başlatılacağını unutmayın.

Login.aspx  sayfamızdaki kodlar aşağıdaki gibidir.

public partial class Login : System.Web.UI.Page

{

    protected void BtnGiris_Click(object sender, EventArgs e)

    {

        if (FormsAuthentication.Authenticate(TextBox_Kullaniciadi.Text, TextBox_Sifre.Text))

            FormsAuthentication.RedirectFromLoginPage(TextBox_Kullaniciadi.Textfalse);

        else

            Response.Write("Kullanıcı Adı ve Şifre Hatalı Tekrar Deneyiniz !");

    }

}

Bu makalemizinde sonuna geldik bir dahaki makalede görüşmek üzere. 

Tags: ,

ASP.NET

Sql serverda Cursor (İmleç ) Kullanımı

by Yasin Kızılbakır 12. Eylül 2011 18:22

Merhaba arkadaşlar bu makalemde sizlere Sql server’da Cursor kullanımı hakkında bilgi vereceğim. Cursor parametresi ile sql server içerisindeki kayıtlara tek tek ulaşabiliriz. Fakat büyük projelerde  performans açısından  çok yavaştır .Fakat işlerimizi yaparken başka bir alternatifimiz olmadığı durumlarda bu performansı göz önünde bulundurmuyoruz. 

Şimdi Örneğimizde  Customer Tablosu oluşturuyorum  tablomuzun ekran görüntüsü aşağıda gösterilmiştir. Örneğimizde Cursor’e ihtiyacımız olmayabilir fakat sizlere anlatmak amaçlı bu örnekte inceliyoruz. 

 

--Şimdi Örneğimizde ihtiyaç duyacağimiz değişkenleri oluşturuyoruz. 

Declare  @name nvarchar(50), @surname nvarchar(50),@id nvarchar(50) 

--Cursor oluşturma işlemine geçelim.Cursor'muzun adını csr_sirala koyuyoruz. 

Declare csr_sirala Cursor For 

Select ID,Name,Surname from Customer order by Name 

--Cursor Oluşturduk oluşturduğumuz cursor'ü açıyoruz. 

Open csr_sirala 

--Cursorde tablomuz barınıyor.Kayıtlar içerisinde ilerlemek için   

Fetch Next -- diyerek ilerliyorur. 

Fetch First -- ile satır başına dönüyoruz. 

Fetch Last -- satır sonuna ilerliyoruz. 

Fetch Next from csr_sirala Into @id,@name,@surname  

--Bu işlemde bütün kayıtları dolaşabilmemiz için bir while dongusu tanımlıyoruz. FETCH komutunun durumunu ”@@FETCH_STATUS” tutar.FETCH_STATUS,” 0”  olduğunda başarılı"-1” olduğunda başarısız “-2” olduğunda ise kayıt bulunamadığı anlamına gelir. 

while @@FETCH_STATUS=0 

Begin 

Update Customer set NameSurname=@name+' '+@surname where ID=@id

fetch Next from csr_sirala Into @id,@name,@surname 

End 

--Execute ediyoruz sonuç olarak tablomuz aşagıda gösterilmiştir. 

Bu makalemizinde sonuna geldik bir dahaki makalede görüşmek üzere.

Tags: , , ,

SQL

Yasin Kızılbakır

Takip Et
İletişim

Arşiv

Takvim

<<  Mayıs 2013  >>
PaSaÇaPeCuCuPa
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

View posts in large calendar

FaceBook Sayfam