Ocak
2
2012

MySql ile ASP.net Membership Kullanmak

mysql-asp-net-membership

MySQL ile asp.net membership kullanmak istediğinizde ya hazır bir provider yada kendi yazdığınız provider kullanmak zorunda kalırsınız. Oysaki mysql’in kendi .net için connector’ı asp.net membership’i tam olarak tüm özellikleri (roles,profiles) ile desteklemekte.

MySql ile birlikte asp.net membership’i kullanmak için henüz yüklemedi iseniz. MySql .net connector’ü buradan yükleyin.

 

Visual Studio’da website projenize (Web Site, MVC farketmez.) aşaıdaki kütüphaneleri reference olarak ekleyin.

  • MySql.Data
  • MySql.Data.Entity
  • MySql.Web

Bu dll dosyaları Connector’i kurduğunuz yerde. Eğer değiştirmedi iseniz Program Files altında \MySQL\MySQL Connector Net 6.4.4\Assemblies klasörüne bakın.
Projeni .net framework’üne size uygun klasörden seçimi yapın.

Her seçtiğiniz referansın özelliklerinde (properties) Copy Local özelliğini true seçin.

Clipboard01

(Bu işlemi yapma nedenimiz referans aldığımız kütüphane nerede olursa olsun artık projemize dahil olacak ve projemizi taşıdığımızda sorun yaşamayacağız, bunu başka yerlerdede kullanabilirsiniz.)

Projenizin web.config’ini açın.

Öncelikle aşağıdaki connection string’i ekleyin.

 

<remove name="LocalMySqlServer"/> 
<add name="LocalMySqlServer" 
     connectionString="Datasource=localhost;Database=databaseadi;uid=tomp;pwd=sifre;" 
     providerName="MySql.Data.MySqlClient"/>

 

Daha sonra aşağıdaki provider bilgilerini ekleyin. Buradaki püf nokta aşağıdaki membership provider’inda göreceğiniz autogenerateschema="true" Bu sayede database’inizde gerekli olan tablolar otomatik olarak açılacak.

 

 

<membership defaultProvider="MySqlMembershipProvider"> 
  <providers> 
    <clear/> 
    <add name="MySqlMembershipProvider" 
  type="MySql.Web.Security.MySQLMembershipProvider,MySql.Web,Version=6.4.4.0, Culture=neutral,PublicKeyToken=c5687fc88969c44d" 
    autogenerateschema="true" connectionStringName="LocalMySqlServer" 
    enablePasswordRetrieval="false" enablePasswordReset="true" 
    requiresQuestionAndAnswer="false" requiresUniqueEmail="false" 
    passwordFormat="Hashed" maxInvalidPasswordAttempts="55" 
    minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0" 
    passwordAttemptWindow="10" passwordStrengthRegularExpression="" 
    applicationName="/" /> 
  </providers> 
</membership>

<profile defaultProvider="MySqlProfileProvider"> 
  <providers> 
    <clear/> 
    <add name="MySqlProfileProvider" 
    type="MySql.Web.Profile.MySQLProfileProvider,MySql.Web,Version=6.4.4.0,Culture=neutral,PublicKeyToken=c5687fc88969c44d" 
    connectionStringName="LocalMySqlServer" applicationName="/" /> 
  </providers> 
</profile>

<roleManager enabled="true" defaultProvider="MySqlRoleProvider"> 
  <providers> 
    <clear /> 
    <add name="MySqlRoleProvider" 
    type="MySql.Web.Security.MySQLRoleProvider,MySql.Web,Version=6.4.4.0,Culture=neutral,PublicKeyToken=c5687fc88969c44d" 
    connectionStringName="LocalMySqlServer" applicationName="/" /> 
  </providers> 
</roleManager>

 

 

image

Yukarıdaki eklemeleri yaptıktan sonra, Solution Explorer panelinde ASP.NET Configuration ile Web Site Administration Tool’u açın.

image

Açılan pencerede Security’e tıkladığınızda mysql database’inizde tablolarda açılmış olacak.

image

Artık mysql ile asp.net membership’i güle güle kullanın, afiyet olsun Göz kırpan gülümseme


Pingbacks and trackbacks (1)+

Yorum ekle




biuquote
  • Yorum
  • Canlı önizleme
Loading