MySQL

Asp.Net’te MySQL ile Kimlik Doğrulama ve Yetkilendirme

Dün Asp.NET Login Kontrollerinie MySQL ile kullanabilmek için tüm gün araştırdım durdum. Şimdi de bu bilgileri paylaşmak istedim. Eğer benim gibi asp.net’te yeni iseniz bu bilgiler illaki lazım olur. Çünkü genellikle SQL Server kullanılmak istenmez.

İlk önce yapmanız gereken Mysql.Data 5.2.2‘yi yüklemek(5.2.3 şu an son versiyon fakat ilerde göreceğiniz bir işlemi otomatik olarak yapmıyor). 5.2.2’i buradan bulabilirsiniz.

Projenizin web.config dosyasını açıp bağlantı cümlelerine aşağıdaki gibi bir bağlantı ekleyin:

<connectionStrings>
<remove name=”LocalMySqlServer”/>
<add name=”LocalMySqlServer” connectionString=”server=localhost; user id=root; password=toor; persist security info=true; database=dorknozzle;” providerName=”MySql.Data.MySqlClient”/>
</ connectionStrings>

Proje referanslarına (Projeye sağ tıklayıp>Property Pages’dan) MySQL.Data’yı eklemeniz tavsiye edilir.

Mysql.Data ve Mysql.Web dll’lerini projenizin içindeki Bin klasörüne kopyalayın. Sonra da Solution Explorer’ı tazeleyin.

Dikkat machine.config dosyasında değişiklik yapmanız pek tavsiye edilmeyen birşeydir. Ama mysql için bunları eklememiz gerekiyor. Ve unutmayın ki asp.net servis sağlayıcınız MySQL’i desteklemeyebilir. Bunu en başta sorun.

machine.config dosyasını açıp aşağıda belirtildiği yere autogenerateschema=”true” niteliğini ekleyin:

<membership>
<providers>
<add name=”MySQLMembershipProvider” autogenerateschema=”true” type=”MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=5.2.2.0, … />
</providers>
</membership>

Sitenizin konfigurasyon sayfasını açın (Açılmış olan projede, Website > ASP.NET Configuration yolunu izleyin, ya da Solution Explorer’daki çekik ve dünya ikonuna tıklayın). Provider sekmesinde Membership Provide listesinden MySQLMembershipProvider‘ı ve Role Provider listesinden de MySQLRoleProvider‘ı seçin. İsterseniz test linklerine basıp bağlantıları kontrol edebilirsiniz.

Ben eğitim süresince aşağıdaki hatalarla karşılaştım (en azından hatırladıklarım ve kaydettiklerim bunlar)  🙂 /> :

There is a problem with your selected data store. This can be caused by an invalid server name or credentials, or by insufficient permission. It can also be caused by the role manager feature not being enabled. Click the button below to be redirected to a page where you can choose a new data store.

The following message may help in diagnosing the problem: Unable to initialize provider. Missing or incorrect schema. (c:WINDOWSMicrosoft.NETFrameworkv2.0.50727Configmachine.config line 145)

Ayrıca aşağıdaki linkler çok faydalı oldu. Ortadaki link en faydalısı (tümü İngilizce kaynaklardır):

www.dotnetsurfers.com
blog.nolanbailey.com
forums.asp.net

 Scroll to top