Asp.net de üyelik (membership) üyelik işlemleri 2
Bir önceki dersimizde membership yapısına ait veritabanımızı oluşturmuştuk. Bu derste veritabanı yapılandırma ayarlarını yapacağız.
Webconfig dosyası; bildiğiniz gibi uygulamamızın tamamını ilgilendiren yapılandırma kodları barındırır ve XML tabanlı bir dosyadır. Örneğin; Mail ayarları, Tema ayarları, Özel hata sayfaları gibi ayarlamalar bu dosya içerisinde belirtilerek yapılır. Özellikle veritabanı bağlantı ayarları yapılır. Çünkü daha güvenli bir yapı sunar.
Neden güvenli peki? Çünkü bu dosya kullanıcı tarafından istenilemez (.config uzantılı). Membership mekanizmasının bütün özelliklerini webconfig dosyasında belirtiyoruz. Sayfalarımızda sürükle bırak ile üyelik sistemi oluşturmamızı sağlayacak Login kontrolleri webconfig dosyasında yapılan ayarlara gore çalışır. Onun için bu dosyadaki yapılandırmalar çok önemlidir.
Şimdi config dosyası içerisinde veritabanı bağlantı kelimemizi (Connection String) yazalım. Bağlantı kelimemizi ConnectionString tagları içerisine yazıyoruz.
<connectionStrings> <add name="DbMembershipConnectionString" // ConnectionString'in ismi.Bu ismi membership ayarlamalarında kullanacağız. connectionString="Data Source=SUNUCU_ADI; Initial Catalog=DbMembership; Integrated Security=True; User ID=SUNUCU_KULLANICI_ADI; Password=SIFRE" providerName="System.Data.SqlClient" /> </connectionStrings>
Burada yazılan providerName bağlantıda kullandığınız namespace I belirtiyoruz. Eğer access provider kullansaydık System.Data.Oledb yazardık. ConnectionString özelliği bağlantı kelimemizin tamamını oluşturuyor. Sıra membership özeliklerini belirtmeye geldi. Bu özelliklerin tamamı System.Web tagları arasına yazılıyor.
<system.web> <membership> <providers> <clear/> <add name="AspNetSqlMembershipProvider" //provider adı type="System.Web.Security.SqlMembershipProvider" //provider'ın bağlı olduğu namespace connectionStringName=" DbMembershipConnectionString" // bu provider'ın kullanacağı veritaabnı bilgileri. Yukarıdaki connectionString'in adını veriyoruz. enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" //maximum geçersiz şifre grime sayısı eğer bu sayıyı aşarsa kullanıcı kitlenecektir. passwordAttemptWindow="10" // yukarıdaki işlem için 10dk sınırı koyuyor. minRequiredPasswordLength="6" // minimum gerekli şifre karakter sayısı minRequiredNonalphanumericCharacters="0" applicationName="/" /> </providers> </membership> </system.web>
Webconfig dosyası proje yüklendiğinde bilgisayarımızda bulunan machine.config dosyasında yapılandırma bilgilerini alır daha sonra bizim config dosyamızın içerisini okur. Machine.config dosyamızın içerisinde varsayılan olarak ayarlanan membership yapısı SQL Express dir. Biz burada SQL Server 2005 kullanıyoruz Onun için yukarıdaki ayarlamaları tek tek girmemiz gerekiyor. Yukarıda memberhip etiketleri arasına yazdığım <clear/> machine.configden gelen ayarlamalı sil benim ayralamalarımı kullan anlamına geliyor.
NOT: Yukarıdaki özellikleri anlatmaya çalıştım. Eğer daha fazla bilgi ve örnek istiyorsanız mouse’unuzla özelliğin üstüne gelerek F1 tuşuna basın.Bu size visual studio ile birlikte kurduğunuz MSDN sayfalarını açacaktır.
Membership’te genel olarak 3 yapıyı bünyesinde barındırır. Bunlar Membership, Role ve Profile mekanizmalarıdır.
Membership (yukarıda ayralamalarını yaptığımız kısım) üyelik işlemeleri ile ilgili kısımdır.
Role; üyelerin sitenin belirli dizin tanımlamamlarına gore yapacağı işlemelrini kıstlamasını sağlayan özelliklerin içerir.
Profile ; normal olarak Login kontrolleri üye olurken ad, soyad, mail, şifre gibi temel bilgilerin alınmasını sağlar. Ama biz farklı senaryolarla sitemize üye olmak için ek başka alanların da tanımlanmasını isteriz. İşte profile yapısı bu ek bilgilerin tanımlanması ve yönetimini üstlenir.
Yukarıda ayarını yaptığımız membership yapısının bağlantı doğruluğunu test etmek için Asp.Net Configuration aracını kullanarak yapacağım. Bu araç ile bu mekanizmanın tamamını yönetebilirsiniz. webconfig’deki ayarlamalarınız doğru değilse hata mesajları alacaksınızdır.
Burada Asp.Net Configuration başlatabilmek için şekildeki ikonu tıklıyoruz ya da üst kısmda website menüsü içerisinden de ulaşabilirisiniz. Daha sonra provider segmesine geliyoruz.
Provider sekmesinde iki seçenek karşımıza çıkıyor .ilki bütün özelliklerin tek bir provider’ın sağlayacağını söylüyor biz bunu seçmiyoruz. İkinci kısmdaki her bir provider için farklı ayarlamalar yapacağımızı belirtiyoruz.
Eğer kodlarınızda hata varsa yukarıdaki resimdeki gibi bir hat ile ilgili bilgi veren bir sayfa göreceksinizdir.
Bu mesaj, provider’ınızın başarılı bir şekilde bağlandığını gösterdi. Artık rahatlıkla login kontrollerimizi kullanabiliriz.
Bu dersimizde temel olarak ne gibi ayarlamaların olduğunu bu ayarların özelliklerini ve doğruluğunu test etmek için bir çalışma yapmış olduk.
–sanalkurs–