Seperti telah kita ketahui ASP.NET 2.0 dan versi diatasnya telah menyediakan control Login yang memudahkan untuk membuat halaman yang berhubungan dengan security dan membership seperti Login, CreateUserWizard, ChangePassword, PasswordRecovery, dll. Pada artikel ini saya akan membahas bagaimana caranya untuk memodifikasi inputan yang dibutuhkan pada control CreateUserWizard. Control tersebut digunakan untuk menambahkan user baru kedalam database membership asp.net.
Secara default control CreateUserWizard (CUW) memiliki setting-setting yang telah ditetapkan seperti enam buah inputan, minimum password 7 karakter, minimal harus ada 1 karakter non alpha numeric, adanya security question dan security answer. Kita dapat mengubah setting default tersebut dengan mudah. Yang perlu dilakukan adalah memanipulasi setting tersebut yang terdapat di file machine.config sesuai dengan yang dibutuhkan.
Berikut langkah-langkahnya (Saya menggunakan Visual Studio 2010, sesuaikan dengan versi Visual Studio yang anda gunakan) :
1). Buka lokasi direktori berikut (sesuaikan dengan versi .NET Framework yang anda gunakan) :
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config
2). Buka file machine.config (XML Configuration File Type) dan cari elemen berikut :
<membership>
<providers>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
</providers>
</membership>
Setting membership tersebut akan mempengaruhi inputan CUW seperti yang dapat anda lihat pada gambar berikut ini :
Untuk memodifikasinya copy kan elemen tersebut ke file web.config di asp.net web site anda dan lakukan perubahan nilai pada atribut-atributnya sesuai dengan yang diinginkan, misalnya seperti berikut ini :
<system.web>
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false"
applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="5"
minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
</providers>
</membership>
……..
Saya lakukan perubahan-perubahan pada atribut yang diberi warna merah, maka hasilnya dapat dilihat pada gambar berikut ini :
Dari hasil diatas dapat dilihat bahwa password minimum memiliki 5 karakter, karakter non alpha numeric untuk password sudah dihilangkan, begitu juga dengan security question and answer. Selain itu setiap user yang akan di register harus memiliki email yang berbeda dengan yang sudah terdaftar di database. Selamat mencoba :)