ASP.NET 2.0 Üyelik ve Rol Yönetimi - 1

ASP.NET 2.0 Üyelik ve Rol Yönetimi - 1 Üyelik Yönetimi Kullanmak İçin Siteyi Ayarlamak

Üyelik yönetim sistemi kullanılmak istenilen bir siteyi ayarlanmasına uygulama ayarlama dosyasından (web.config) başlanılmalıdır. Üyelik yönetim sistemini kullanmak için site Form Tabanlı Güvenlik kullanacak şekilde ayarlanmalıdır. Bu işlem için aşağıda görülen kodları web.config dosyasında ... etiketleri arasına yerleştirerek işe başlayalım.

Burada site Form Tabanlı Güvenlik kullanacak şekilde ayarlandı ve etiketi ile de Form Tabanlı Güvenlik"te kullanılacak olan gerekli ayarlamalar yapıldı. Burada yapılacak olan tüm ayarlamalar ASP.NET 2.0 Kimlik Denetimi - 2 adlı makalede yer almaktadır. Sitede üyelik yönetim sitemini kullanmak için bu kadar ayarlama aslında yeterlidir evet yanlış okumadınız buradan sonra sadece sürükle-bırak teknolojisi ile sitenize yeni kullanıcı ekleyecek bir sayfa, kayıtlı kullanıcıların oturum açabilecekleri, şifrelerini değiştirebilecekleri, unuttukları şifrelerini hatırlayabilecekleri sayfalar ekleyebilirsiniz. Ama arka planda neler oluyor veya bunları nasıl özelleştiriyoruz bunları da biliyor olmak gerekiyor. İlk olarak Üyelik yönetimi yapısını aşağıdaki şekil yardımıyla inceleyelim.

Yandaki resimde ASP.NET 2.0"la birlikte gelen üyelik yapısı görülmektedir. Görüldüğü üzere en üstte Login Kontrolleri olarak adlandırdığımız kontroller bulunmaktadır. Bu kontroller ile bir siteye üyelik yönetimi yeteneği kazandırabiliyoruz. Sitede üyelik yönetimi kullanmak için sadece Login kontrollerine bağımlı değiliz, Login kontrollerinin hemen altında gördüğünüz API"ler sayesinde de üyelik yönetiminin bize sağladığı imkanları kullanabilmekteyiz. Resimde bir kademe alta indiğimizde de SqlMembershipProvider adında bir veri sağlayıcısı dikkatinizi çekmiş olmalı. Bu veri sağlayıcısı üyelik bilgilerinin SQL Server"da tutulduğu durumlarda SQL Server"a erişim sağlayan sınıfları içinde barındırmaktadır. Resmin en altında da üyelik verisinin tutulduğu alanlar listelenmiştir. Üyelik bilgilerinin SQL Server"da saklayan kullanıcılar için işin ne kadar basiti olacağını az sonra görüyor olacaksınız ancak diğer veri kaynaklarında veri saklamak isteyen kullanıcılar için işler o kadar da kolay değildir. SQL Server dışındaki veri kaynaklarında üyelik bilgilerinin saklanması için .NET Framework içinde tanımlanmış olan hazır üyelik sınıflarının, sağlayıcıların vb. yeniden yazılması gerekecektir. Şimdi bu resmin en üst tarafına yeni kontrollere yoğunlaşalım ve ASP.NET 2.0 ile birlikte hayatımıza neler girmiş bunlara göz atıyor olalım.

Kontrollere göz atacak olursak kontrollerin isminden ne iş yaptıklarını çıkarmak hiç de zor olmayacaktır. Örneğin Login kontrolü sisteme daha önce kayıt olmuş bir kullanıcının oturum açma bilgilerini isteyerek sisteme giriş yapmasını sağlıyor.ChangePassword kontrolü kullanıcıların parolalarını değiştirmelerine olanak tanıyor. PasswordRecovery ise unutulan parolaların hatırlatılması konusunda bir görev üstlenmiş. Sisteme yeni bir kullanıcı eklemek için ise kullanılacak kontrol CreateUserWizard olacaktır. LoginStatus kontrolü siteye gelen kullanıcının oturum durumunu görüntüleyen kontroldür, kullanıcının çevrimiçi veya çevrim dışı olmasına göre kullanıcıya farklı bağlantılar çıkararak kullanıcının durum değiştirmesini sağlıyor. LoginName kontrolü o an oturum açmış olan kullanıcının kullanıcı adını taşıyor ve uygulama içinde herhangi bir yerde kullanılabiliyor. LoginView kontrolü ise LoginStatüs kontrolüne benzer bir amaç için kullanııyor. LoginView kontrolünün kullanım amacı LoginStatüs"e göre oldukça geniş bu kontrolde kullanıcının oturum durumuna göre farklı içerik görüntülenebildiği gibi ayrıca kullanıcının rol bilgisine göre de farklı bir içerik görüntülenebiliyor. Farklı gruptan kullanıcılara farklı içerik sunmak için tasarlanmış bir kontrol, ASP.NET 2.0 öncesinde bu işlemi yapmak için panellerle boğuşmak zorundaydık ama artık bu işlemleri oldukça kolay bir şekilde yapabiliyoruz.

Login Kontrolleri İle Çalışmak Kullanıcı Oluşturmak

Siteye kullanıcı eklemek için olan kontrol CreateUserWizard kontrolü kullanılmalıdır. CreateUserWizard kontrolü pek çok sitede olduğu gibi kullanıcıların sisteme kendilerini eklemesi için kullanılabileceği gibi, site yöneticileri tarafından yeni kullanıcı eklemek için de kullanılabilir. CreateUserWizard kontrolünü bahsedilen faklı amaçlar için kullanmak ufak bir ayarın değiştirilmesine bağlı. CreateUserWizard"ın özelliklerinden biri ile eklenen kullanıcının eklendikten hemen sonra oturum açması da sağlanabiliyor bu özelliği aktif hale getirerek kullanıcının kendisinin kayıt olması sağlanır ve kullanıcı kayıt olduktan hemen sonra oturum açarak sitenin hizmetlerinden faydalanmaya başlayabilir ancak site yöneticisi tarafından eklenen bir kullanıcının eklendikten hemen sonra oturum açması pek kullanılışlı olmayacaktır. Gördüğünüz gibi kontrol bu oranda özelleştirilebiliyor. CreateUserWizard kontrolü diğer Login kontrolleri gibi Visual Studio 2005 içerisinde ToolBox"ta Login tabında yer almaktadır. Kontrol ToolBox"tan sürüklenip bırakıldığında yukarıdaki gibi bir görüntü ile karşılaşılacaktır. Şu anda herhangi bir ayar yapılmadığı için kontrol varsayılan ayarlarında görüntülenmektir ama bu görüntü tamamen kişiselleştirilebilmektedir.Bu görüntün nasıl kişiselleştirileceği konusunu açıklanmadan önce kontrolü bir sayfaya sürükleyip bırakıp nasıl çalıştığını inceleyelim. Bu işlem için Visual Studio 2005 üzerinden yeni bir Web Sitesi Projesi açıp ana sayfaya bu kontrolü sürükleyip, ctrl+F5 ile projeyi çalıştıralım. Proje çalıştırıldığında varsayılan görüntü ile karşılaşılacaktır gerekli bilgiler girilip Create User butonuna basıldığında sayfa, uzunca bir süre arka planda işlem yapıp daha sonra da eğer herhangi bir hata oluşmadıysa ve SQL Server Express servisi çalışıyorsa kullanıcının başarılı bir şekilde oluşturulduğu bilgisini iletecektir.(Eğer SQL Server Express servisi sayfanın çalıştırılacağı bilgisayarda çalışmıyorsa kullanıcı eklenemediği gibi varsayılan ayarlarla login üyelik yönetim sistemi de kullanılamayacaktır çünkü varsayılan ayarlar SQL Express"i işaret eder.) Sayfa arka planda App_Data klasörünün içine bir tane veri tabanı dosyası oluşturup oluşturulan kullanıcıyı bu veritabanın içine ekledi. Bu veritabanı dosyasını görmek için Solution Exlorer"da Solution"ın üzerinde sağ tıklayıp menüden Refresh Folder seçeneğini seçmek gerekiyor, bu işlemden sonra Solution içerisinde bulunan dosyalar yenilenecek ve App_Data klasörü ile App_Data içerisinde bulunan ASPNETDB.mdf isimli dosya görünüyor olacaktır.

Kullanıcı eklerken alınabilecek olan hatalardan biri geçersiz parola olacaktır. ASP.NET üyelik yönetimi sisteminde parola oluşturmak için varsayılan güvenlik politikası gereği parola, minimum 7 karakterden oluşmalı ve minimum 1 tane alfabetik ve nümerik olmayan karakter içermelidir. Bu ayarlar da isteğe göre değiştirilebiliyor, nasıl değiştirildiği yazının ilerleyen bölümlerinde ele alınacaktır.

Eklenen kullanıcıyı görmek için ASPNETDB.mdf dosyasına çift tıklanabilir.Bu işlemden sonra Visual Studio 2005 Server Exlorer penceresi içinde ASPNETDB.mdf dosyasının içeriğini görüntüleyecektir.

Visual Studio 2005 üzerinde veritabanına erişim gerektiren bir uygulama geliştiriliyorsa her seferinde pencere değiştirmek yerine Visual Studio 2005 içerisinde bulunan Server Explorer penceresi kullanılarak aynı ekranda hem veritabanının içeriği hem de uygulama görüntülenebilir böylece daha hızlı bir şekilde uygulama geliştirilebilir.

ASPNETDB veritabanının içeriğine göz atıldığında pek çok tablo, stored procedure, view, vb. nesne görülecektir. Bu tablolar da tüm üyelik bilgileri saklanırken, diğer nesneler de bu bilgilere erişim, yeni bilgi ekleme, bilgi güncelleme, bilgi silme gibi görevleri üstlenmişlerdir. Tablolarda hangi bilgilerin tutulduğu aslında isimlerinden anlaşılabilmektedir, aşağıdaki tabloların açıklamaları yer almaktadır.

aspnet_Applications: Uygulamanın bilgilerinin saklanacak olduğu tablo. aspnet_Membersip: Parola, Güvenlik sorusu gibi üyelik bilgilerinin saklanacak olduğu tablo. aspnet_Paths: Web Part kontrollerinin kullanıldığı sayfaların yolunun tutulacak olduğu tablo. aspnet_PersonalizationAllUsers: Web Part kontrollerinin tüm kullanıcılar için varsayılan ayarlarının saklandığı tablo. aspnet_PersonalizationPerUser: Web Part kontrollerinin kullanıldığı sayfalarda her kullanıcı için sayfanın diziliminin tutulacak olduğu tablodur. aspnet_Profile: Kullanıcıya özgü profil bilgilerinin saklanacak olduğu tablo. aspnet_Roles: Sitedeki tüm rollerin tanımlanacak olduğu tablo. aspnet_Users: Kullanıcı bilgilerinin saklanacak olduğu tablo. aspnet_UsersInRoles: Hangi kullanıcının hangi rol grubuna dahil olduğu bilgisinin saklanacak olduğu tablo.

Bir tane CreateUserWizard kontrolü sayfaya eklenilip çalıştırıldığında arka planda neler olduğundan biraz bahsettikten sonra biraz da CreateUserWizard kontrolünden bahsedelim.Yazının başında CreateUserWizard kontrolünün tamamen kişiselleştirilebilir olduğundan bahsedilmişti, şimdi kontrolün özellikleri ile oynayarak kontrolün üzerinde bulunan yazıların ve uyarıların kendi dilimize nasıl çevrileceğinden bahsedelim. Visual Studio 2005 ortamında kontrolün özelliklerine göz atıldığında pek çok özellik değerinden dolayı tanıdık gelecektir çünkü varsayılan olarak görüntülenen yazıların her biri aslında birer özelliktir ve değiştirilebilir burada bunların hepsinin teker teker nasıl değiştirileceğinden bahsetmek yerine bir kaç tanesinden bahsedip geriye kalanları sizlere bırakacağım. Örneğin kontrolün en üstünde bulunan User Name olarak görüntülenen alana UserNameLabelText özelliğinden, Password yazan alana PasswordLabelText özelliğinden erişilebilir diğer etiketler içinde bu böyledir. CreateUserWizard kontrolünün kullanıcıya göstermiş olduğu hata mesajları da değiştirilebilir. Örneğin kullanıcı geçerli güvenlik politikasına göre geçerli bir parola girmediğinde alacağı uyarı InvalidPasswordErrorMessage özelliği olacaktır ve istenilen şekilde değiştirilebilir. Hatta bu özelliğin özellikle sevdiğim bir tarafı da belirlenen güvenlik politikasına göre dinamik olarak oluşuyor olmasıdır. Hata mesajı dikkatle incelendiğinde süslü parantezler içinde parametrelerle geçerli olan politikanın değerleri kullanıcıya gösterilebilmektedir.

Kullanıcı eklerken  dikkat edilmesi gereken bir özellik parola girilirken minimum yedi karakter ve en az bir tane alfa-nümerik olmayan karakterden oluşan bir parola kombinasyonunun kullanıcıdan istendiğidir. Bu ayarların varsayılan ayarlarda bırakılması sitenin güvenliği açısından her ne kadar olumlu bir durum olsa da zaman zaman bu ayarlar üzerinde oynama yapılması istenilebilir. Bir sitenin güvenlik politikası gereği minimum dört karakter yeterli iken, bazı siteler için varsayılan ayar olan yedi karakter bile yetmeyecektir. ASP.NET"te sitenin varsayılan ayarları machine.config dosyasından gelmektedir. Eğer makine düzeyinde bir ayar yapılmak isteniyorsa gidilecek olan yer C:WINDOWSMicrosoft.NETFrameworkvXXXXCONFIG içindeki machine.config dosyası olmalıdır. Bu dosya açılıp incelendiğinde hiç de yabancı olunmayan web.config dosyasına benzeyen bir dosya olduğu dikkatli gözlerden kaçmayacaktır. Dosya açılıp incelendiğinde değiştirmek istediğimiz alan System.Web altında olan  Membership boğumunda olacaktır. Bu alan dikkatlice incelenirse Membership"e bir tane sağlayıcı eklendiği ve varsayılan ayarların belirlendiği görülebilir. Aşağıdaki kod bloğu machine.config"de yer alan Membership sağlayıcısının (Provider) tanımlandığı bölümdür.

Yukarıdaki kodlara dikkat edilecek olursa minimum parola uzunluğunun (minRequiredPasswordLength) 7 olarak ayarlandığı, min alfa-nümerik olmayan karakter sayısının (minRequiredNonalphanumericCharacters) 1 olarak ayarlandığı görülecektir. Diğer özellikler de benzer şekilde ayarlanmıştır. Buradan bu ayarlar istenilen şekilde değiştirilebilir. Ancak unutulmamalıdır ki burada yapılacak olan ayarlar bu makinede bulunan tüm sitelerde geçerli olacaktır. Bu durum çok fazla istenilen bir durum değildir, hatta mecbur kalınmadıkça bu dosyanın içeriği değiştirilmemelidir. O zaman tek çare kalıyor bu ayarları uygulamanın ayarlama dosyasında (Web.config) yapmak. Bu işlemi yapabilmenin yolu web.config dosyasında yeni bir tane sağlayıcı tanımlamak olmalıdır, ama uygulama varsayılan ayarlarıyla çalıştırılmak istenildiğinde varsayılan sağlayıcı yani AspNetSqlMembershipProvider kullanılmak istenilecektir. Bu durumda yapılması gereken işlem varsayılan tarayıcıyı silip yeniden eklemek olacaktır. Burada silmek derken machine.config"den silmekten bahsetmiyoruz. Eğer bu sağlayıcı machine.config"den silinirse doğal olarak özellikle tanımlanan dışında hiç bir sitede membership özellikleri çalışmayacaktır. Peki bu durumda nasıl sileceğiz? ASP.NET"in çalışma mimarisi göz önüne getirildiğinde ayarlar en üstten en alta doğru ayarlama dosyaları ile taşınıyordu. Bir özellik bir alttaki ayarlama dosyasında geçerli değilse bir üstteki ayarlar geçerli oluyordu. Bizim burada yapacak olduğumuz işlem aslında machine.config"den gelen ayarları geçersiz kılıp yeniden tanımlamak olmalıdır. Bu işlem için web.config dosyasına aşağıdaki kodlar eklenebilir.

enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/"

requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5"

minRequiredPasswordLength="5" minRequiredNonalphanumericCharacters="0"

passwordAttemptWindow="10" passwordStrengthRegularExpression=""

name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

........

Bu işlemi yapmanın en basit yolu machine.config"den ayarları kopyalayıp boğumundan sonra yapıştırmaktır. Yukarıdaki yeni ayarlara dikkat edilecek olursa minimum parola uzunluğu 5 ve minimum alfa-nümerik olmayan karakter sayısı da 0 olarak ayarlanmıştır.

Membersip sağlayıcısının ayarlarını değiştirmenin bir diğer yolu da IIS"in ayarları üzerinden bunu gerçeklemektir. Bu işlem için IIS"in ayarları açıldıktan sonra ilgili web sitesinin özelliklerine gelinip ASP.NET tabına geçilir. Bu alandan da Edit Configuration butonuna tıklanılıp açılan yeni pencereden Authentication tabına geçilir. Bu alandan da Manage Providers butonu ile ayarlar görülüp değiştirilebilir. Siteye Kod Yazarak Kullanıcı Eklemek

Siteye kullanıcılar CreateUserWizard ile eklebildiği gibi Membership sınıfı kullanılarak da eklenebilmektedir. Bu işlem için yazılım geliştiricilere sunulan toplam dört adet aşırı yüklenmiş metot bulunmaktadır. Aşağıdaki tabloda metotların söz dizimleri görüntülenmektedir.

Membership.CreateUser(string username, string password) Membership.CreateUser(string username, string password, string email) Membership.CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, out MembershipCreateStatus status) Membership.CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)

Görüldüğü üzere bu metotlar yardımı ile dört faklı şekilde kullanıcı ekleyebiliyoruz. Bir örnekle bu kodları kullanıyor olalım. Örneğin daha anlaşılır olması adına üçüncü satırdaki metodu kullanıyor olalım. Bu işlem için bir web form"a bir tane button sürükleyip bırakalım ve Clik olayına da aşağıdaki kodları yazalım.

protected void Button1_Click(object sender, EventArgs e)

{

     MembershipCreateStatus durum;

     Membership.CreateUser("BurakBatur", "11111@w", "burak.batur@netron.com.tr", "deneme", "test", true, out durum);

     switch (durum)

     {

          case MembershipCreateStatus.DuplicateEmail:

          Response.Write("Belirtilen Email adresi daha önce kullanılmış...");

          break;

          case MembershipCreateStatus.DuplicateProviderUserKey:

          break;

          case MembershipCreateStatus.DuplicateUserName:

          break;

          case MembershipCreateStatus.InvalidAnswer:

          break;

          case MembershipCreateStatus.InvalidEmail:

          break;

          case MembershipCreateStatus.InvalidPassword:

          break;

          case MembershipCreateStatus.InvalidProviderUserKey:

          break;

          case MembershipCreateStatus.InvalidQuestion:

          break;

          case MembershipCreateStatus.InvalidUserName:

          break;

          case MembershipCreateStatus.ProviderError:

          break;

          case MembershipCreateStatus.Success:

          Response.Write("Kullanıcı oluşturuldu...");

          break;

          case MembershipCreateStatus.UserRejected:

          break;

          default:

          Response.Write("Kullanıcı oluşturulamadı...");

          break;

     }

}

Bu alanda son parametreye kadar yapılan işlemler genelde alışık olduğumuz metot çağırma işlemi. Son parametreye kadar olan parametreler kullanıcı bilgilerini gönderirken son parametre ise out sözcüğü ile MembersipCrateStatus türünde bir değişken gönderip bu değişkenin değerini metottan alıp program içinde kullanılmasını sağlıyor. MembershipCreateStatus .NET Framework içerisinde tanımlı olan bir numaralandırıcıdır (Enum) ve kullanıcının oluşturulup oluşturulmadığı bilgisinin yanında birde kullanıcının neden oluşturulamadığı bilgisini de içererek sitede işlem yapan kullanıcıya anlamlı hata mesajları gösterilmesini sağlar. Yukarıdaki kod bloğunda tüm durumlar yazılmış ama sadece iki tanesinde yapılacak işlem belirtilmiştir. Diğer alanların doldurulması kullanıcıya bırakılmıştır. Site çalıştırılıp Button"a basıldığında kullanıcı eklenecek ve herhangi bir hata yoksa Kullanıcı Oluşturuldu bilgisi ekrana yazılacaktır.

Kullanıcıların Oturum Açmasını Sağlamak

Şu ana kadar site Forms Authentication kullanacak şekilde ayarlandı ve siteye kullanıcı eklendi ama kimlik denetimi bölümü eklenmedi. İlk olarak uygulama ayarlama dosyasına (web.config) aşağıdaki kodları ekleyerek oturum açmamış olan kullanıcıların sisteme girmesini engelliyor olalım.

Login Kontrolü

Yukarıda bulunan kodlar sayfaya eklenip herhangi bir sayfa talep edildiğinde login.aspx sayfasının bulunamadığından bahseden bir hata hata mesajı ile karşılaşılacaktır. Bu gayet doğaldır çünkü hatırlayacağınız gibi eğer ayarlar değiştirilmediyse kullanıcı geri dönüş URL"i ile birlikte login.aspx sayfasına yönlendirilecekti. Projeye bir tane Login.aspx sayfası ekleyip içine de bir tane Login kontrolü sürükleyip bırakalım. Login kontrolünü kullanmak bu kadar basit. Şu andan itibaren siteye erişmeye çalışan oturum açmamış olan kullanıcılar Login.aspx"e yönlendirilecek ve kullanıcı adı ile parola girebilecekleri bir alanla karşı karşıya kalacaklardır. Login kontrolü de tüm Logn kontrollerinde olduğu gibi tamamen kişiselleştirilebilmektedir. İstenilirse tüm yazılar Türkçe olarak yazılabilir.

Kullanıcı Login kontrolündeki Log In Button"una tıklanıldığında oturum açılacak ve otomatik olarak login.aspx sayfasına yönlendirme yapan ilk talep edilen sayfaya geri yönlendirilecektir.

Login kontrolünde dikkat edilmesi gereken bir özellik de varsayılan olarak Remember me next time yazılı olan CheckBox"tır. Eğer bu kutucuk işaretlenirse kullanıcının bilgisayarına bir Cookie atılacak ve kullanıcı bu siteye tekrar erişmeye çalıştığında atılan Cookie"den değerlere okunarak kullanıcıdan tekrar kullanıcı adı ve parola bilgileri istenmeyecektir.

Sitelerde bulunan oturum açma sayfaları göz önüne getirildiğinde genellikle bu sayfalarda oturum aç linki dışında başka linkler de bulunur bunlardan biri Siteye Üye Ol ve bir diğeri de Şifremi Unuttum linkleridir. Bu linkler iyi tasarlanmış bir sitede bulunması gereken linklerdir. Bu işlemi yapmak için Login kontrolünün özellikler penceresi kullanılabilir.

Kullanıcıları Üye Ol sayfasına yönlendirecek olan özellikler CreateUserIconUrl, CreateUserText ve CreateUserUrl özellikleridir. Bu özelliklerden istenilen özellikler ayarlanıp kullanıcının tek bir linke tıklayarak Üye Ol sayfasına yönlendirilmesi sağlanmış olur.

Kullanıcı şifresini unuttuğunda hatırlaması için yönlendirilecek olduğu sayfayı belirlemek için PasswprdReoveryIconUrl, PasswordRecoveryText ve PasswordRecoveryUrl özellikleri kullanılmalıdır. Bu özelliklerden istenilen özellikler ayarlanıp kullanıcı kendisine şifre hatırlatacak olan sayfaya yönlendirilir.

Yapılan bu ayarlardan sonra Login kontrolü aşağıdaki görünümü almış olmalıdır.

Kod Yazarak Oturum Açmak

Kod yazarak oturum açmak için Login kontrolünün Authnenticate olayı kullanılmalıdır. Eğer bu olayı yakalayacak olan metod tanımlı ise Login kontrolü otomatik olarak oturum açmayıp Authenticate olayında yazılı olan kodları işletmeye çalışacaktır. Sayfaya eklenmiş olan Login kontrolünün Authenticate olay yakalayıcısı oluşturulup aşağıdaki kodlar ilave edildiğinde kullanıcıyı siteye kod tarafından kabul ediyor olacağız.

if (Membership.ValidateUser(Login1.UserName,Login1.Password))

{

     FormsAuthentication.RedirectFromLoginPage(Login1.UserName, true);

}

Bu alanda Login kontrolü yerine iki TextBox bir tane de Button ile de aynı işlem yaptırılabilirdi ama görüldüğü üzere Login kontrolünün UserName ve Password özelliklerine kod tarafından erişip kullanabiliyoruz. FormsAuthentication.RedirectFromLoginPage daha önceki makalelerden hatırlanıyor olmalıdır. Bu metot kullanıcı geçerli bilgileri belirtti ise kullanıcının oturum açmasını sağlayıp login sayfasına gelinen sayfaya geri dönülmesini sağlıyordu.

Döküman Arama

Başlık :

Kapat