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

Yorum ekle

  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading

Yasin Kızılbakır

Takip Et
İletişim

Arşiv

Takvim

<<  Mayıs 2012  >>
PaSaÇaPeCuCuPa
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar

FaceBook Sayfam