mehmetduran.com - Paylaşmak Güzeldir...
Asp.net ve MySql ile Üyelik (MemberShip) Sistemini Kullanma
Bu yazımda daha önce yapmak istediğim ancak zaman ayıramadığım MySql üyelik sistemini nasıl kullanabileceğimizi anlatmaya çalışacağım. Daha önce üyelik sistemini Access ve Sql Server veritabanları ile kullanmıştım. Ancak daha ağırlık verdiğim MySql ile de kullanmayı düşünüyordum. Bu konuya ancak bakma fırsatı buldum ve sorunsuzca çalışan bir örnek yapmayı başardım. Asp.net'in sağladığı hazır Login kontrolleri ile çalışan örnek bir uygulama hazırladım. Bunun için yapmamız gereken bir takım işlemler var. Bu işlemlerin neler olduğuna bakalım.

Öncelikle MySql kullanacağımız için, MySql ile bağlantı sağlayan ve üyelik sistemini sağlayan hazır dll kütüphanelerimizi indiriyoruz ve projemize ekliyoruz. (Buradan indirebilisiniz)

Daha sonra her üyelik sisteminde (diğer veritabanları ile) olduğu gibi projemizin web.config dosyasında üyelik sistemi ve veritabanı ayarları yapmamız gerekiyor. Bu konuda MySql için hazırlanmış kaynaktan faydalandım. Kaynakta dll dosyaları ve içerdikleri tüm özellikler detaylı bir biçimde anlatılmış. Web.config dosyamızda ise aşağıdaki gibi bir ekleme yapmalıyız.

  <connectionStrings>
    <remove name="baglantim"/>
    <add name="baglantim" connectionString="server=localhost;user id=kullanici_adi;password=sifre;database=veritabani" />
  </connectionStrings>
  <system.web>
    <roleManager defaultProvider="MySqlProvider" enabled="true">
      <providers>
        <add
          name="MySqlProvider"
          type="MySql.Web.Security.MySQLRoleProvider"
          connectionStringName="baglantim"
          writeExceptionsToEventLog="true"
          applicationName="LoginControl" />
      </providers>
    </roleManager>
    <authentication mode="Forms" >
      <forms loginUrl="login.aspx"
        name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>
    <membership defaultProvider="MySQLMembershipAppProvider">
      <providers>
        <clear/>
        <add name="MySQLMembershipAppProvider"
             type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=5.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"
             autogenerateschema="true" // başlangıçta veritabanı tablolarını otomatik oluşturmak için
             connectionStringName="baglantim"
             enablePasswordRetrieval="false"
             enablePasswordReset="true"
             requiresQuestionAndAnswer="true"
             applicationName="LoginControl"
             requiresUniqueEmail="true"
             passwordFormat="hashed"
             maxInvalidPasswordAttempts="7"
             minRequiredPasswordLength="5"
             minRequiredNonalphanumericCharacters="0"
             passwordAttemptWindow="10"
             passwordStrengthRegularExpression=""/>
      </providers>
    </membership>
  </system.web>

Görüldüğü gibi yapmamız gerekenler bunlar. Yukarıda vermiş olduğum kodlar sorunsuz çalışan örneğin kodlamarıdır. Ancak internette yaptığım aramalar sonucu birçok kişinin bu sistem ile sunucuda sorun yaşadığını gördüm. Ancak kendi bilgisayarımızda çalışan bir sistemin sunucuda da sorunsuz çalışacağını düşünüyorum. En kısa zamanda da kendi sunucumda denemeye çalışacağım.

Tüm bu işlemleri yaptıktan sonra hazırladığımız sistemin ayarlarını değiştirmek, ekleme çıkarma yapmak için Visual Studio'nun WebSite --> ASP.NET Configuration sekmesini seçip, çıkan ekranda istediğimiz düzenlemeleri yapabilir ve projemizde üyelik sistemini kullanmaya başlayabiliriz.

Hazırlamış olduğum örnekte hazır Login kontrollerini kullandım. Ancak üyelik sistemini daha etkin ve hazır kontroller olmadan kullanmayı hedefliyorum. Bu tarz bir sistem yapmaya çalışacağım. Umarım yaparım ve sizlerin kullanımına sunarım.

İyi Çalışmalar!
Mehmet Duran 04 Şubat Çarşamba 2009 7 23708 3,8
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Building XNA 2.0 Games (E-Book) Jquery E-book Jquery ve Ajax İşlemlerinde DropDownList Kullanımı Asp.net ile ve Jquery Ajax ile Kur (Döviz) Bilgilerini Alma jQuery Ajax İşlemlerinde Parametre Olarak Nesne Taşıma
Yorumlar
Yorum Yaz
RSS Yorum Takibi
Hasan Gürsoy 05 Şubat Perşembe 2009 23:34 #1
Ben de bir aralar uğraşmıştım bununla. Evet, çok sık problem çıkartan bir durum. Türkçe (http://xspgroup.wordpress.com/2008/09/09/aspnette-mysql-ile-kimlik-dogrulama-ve-yetkilendirme/) ve İngilizce (http://xspgroup.wordpress.com/2008/09/09/aspnet-authorization-authentication-with-mysql/) versiyonları var ;).
Mehmet Duran 05 Şubat Perşembe 2009 23:38 #2
Ben örneği yapmak için yukarıda linkini vermiş olduğum kaynaktan faydalandım. Ancak internette araştırma yaptığımda senin verdiğin linklerle de karşılaştım ve birçok yerde verdiğin linklerin tavsiye edildiğini gördüm. Ben örneği yaptım ve sorunsuz çalıştı. Önümüzdeki günlerde sunucumda da deneyeceğim. Umarım hata almam.
Mehmet AKMAN 24 Mayıs Pazar 2009 19:54 #3
Mehmet bey ben yapamadım. MySql tablolarını da kendim olusturdum ama yine baglantı kurulamadı diyor. Acaba calısan bir örnek dosyayı paylaşabilirmisiniz. Ben V.S ile hostumdaki veriatabanına baglanıyorum. Normalde Hosttaki MySQL e baglanabiliyorum sadece bu membership için baglantı kurulmadı diyor.
Mehmet Duran 25 Mayıs Pazartesi 2009 22:10 #4
Merhaba. Aldığınız hata ile ilgili daha fazla bilgi verirseniz daha iyi yardımcı olabilirim. Burada yazmış olduğum kodlar çalışan kodlar. Paylaşmadan önce bu uygulamayı çalıştırmıştım. Şu anda elimde yok ama kısa süre içinde kendi hostumda da böyle bir çalışma yapacağım.
Gökhan ERTAŞ 25 Temmuz Cumartesi 2009 09:35 #5
Elinize sağlık hocam. Dersleriniz gerçekten çok yararlı.
Ayhan 26 Eylül Cumartesi 2009 03:55 #6
Sevgili Mehmet Duran bahsettiginiz kaynak icin vermis oldugunuz linkte sorun var.Rica etsem ilgilenir misiniz? Iyi Calismalar..
Mehmet Duran 26 Eylül Cumartesi 2009 14:29 #7
Merhaba. Linkini verdiğim kaynak zaten mysql sitesinden indirdiğimiz kaynaklar içinde mevcut olan (chm dosya) bir kaynak. Bunun için mysql sitesindeki kaynakları indirmen yeterli olur. Linki de kaldıracağım.
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Hizmet amaçlı işler başarıya, kar amaçlı olanlar ise başarısızlığa yöneliktir.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009