Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Programa Şifreli Giriş Uygulaması

Yazar: Adem AKTEPE

Kategori: ADO.NET

Eklenme Tarihi: 20.08.2007 16:14:11

Merhaba arkadaşlar bu makalemde sizlere programımıza şifreli giriş uygulamasının nasıl yapıldığını anlatacağım.
PROGRAMA ŞİFRELİ GİRİŞ


İlk olarak programı açabilmemiz için gerekli olan kullanıcı adları ve şifrelerini tutan bir veri tabanımızın olması gerekiyor. Bunun için hemen veri tabanımızı oluşturalım.

Veri tabanımıza Sifre isminde bir tablo oluşturuyoruz. Sifre tablomuzda Hücre isimleri ve alacağı değerler aşağıdaki resimde görünmektedir.

Tablomuzu oluşturduktan sonra şifre isteyen ekranımızı aşağıdaki gibi tasarlıyoruz.

Formumuza 2 adet textbox, 3 adet buton, 1 tane OledbDataAdapter kontrolleri koyuyoruz.

OledbDataAdapter kontrolümüze sağ tıklayıp, Configure Data Adapter’ e tıklayıp veri tabanı bağlantımızı sağlayıp Sifre tablomuzu ve içerisindeki hücreleri seçiyoruz.


OledbDataAdapter bağlantısını sağladığımızda, formumuza OledbConnection nesnesi eklenecektir. OledbDataAdapter nesnemize sağ tıklayıp, Generate Dataset dediğimizde Dataset nesnemizi de oluşturmuş olduk.

Veri tabanı bağlantımızı yaptığımıza göre şifre bu verileri çekmeye geldi sıra.
Formumuza çift tıklayıp Load eventine aşağıdaki kodları yazıyoruz.


Private Sub Sifre_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

OleDbDataAdapter1.Fill(DataSet11.Sifre) 'Burada Veri tabanımızdaki Sifre tablosundaki verileri Datasetin içine aktarıyoruz.

End Sub


Verileri çektiğimize göre artık kullanıcının girdiği değerlerle aynımı değimli kontrolünü yaptırmaya geldi sıra.

Giriş butonuna çift tıklıyoruz ve aşağıdaki kodlarımızı yazıyoruz.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim dr As DataRow 'Datasetteki verileri teker teker kontrol ettirmek için Datarow tanımlıyoruz.

Dim username, password As String
username = TextBox1.Text ‘kullanıcı adı değerini alıyoruz(formdan)
password = TextBox2.Text 'şifre değerini alıyoruz.(formdan)


For Each dr In DataSet11.Sifre
If dr.Item("Kullanici") = username And dr.Item("Sifre") = password Then

'Burada bir kontrol yaptırıyoruz. Eğer kullanıcının formdan girdigi kullanıcı adı ve şifre, veri tabanından çekilen kullanıcı adı ve şifreyle aynıysa aşağıdaki işlemleri yap diyoruz.

Me.Hide() 'Formu kapatıyoruz ve programın ana formu olan frmana formunu çağırıyoruz.

Dim frmana As New Ana
frmana.Show()
Exit Sub

End If

Next

MsgBox("Kullancı adı veya şifre yanlış. Yada programa kayıtlı kullanıcı değilsiniz.", MsgBoxStyle.Critical, "Dur!")
'Kullanıcı adı ve şifre uyumuşmuyorsa bu şekilde bir hata mesajı çıkarıyoruz.

End Sub

Giriş bölümünü bitirmiş olduk. Şimdi yeni bir kullanıcı tanımı yapmak için yapmamız gereken işlemlere göz atalım.

Öncelikle programı çalıştıran herkesin yeni bir kullanıcı eklememesi için özel bir kod, şifre veya herhangi bir şey belirlememiz lazım. Ben bu örnekte bunun ismine Admin şifresi dedim.
Hemen admin şifresinin tutulduğu tablomuzu oluşturalım.


Admin Tablomuzuda bu şekilde oluşturduktan sonra ( tabiî ki içerisine bir tane admin şifresi girelim ) formumuzu tasarlamaya başlayabiliriz. Yeni kullanıcı kayıt Formunu aşağıdaki gibi tasarlayalım.

Admin şifresinin, kulacı adı ve şifrelerin girilebilmesi için 4 tane textbox ekliyoruz. Kaydetmek ve iptal etmek için de 2 tane buton ekliyoruz. Bu formumuzun da veri tabanı bağlantısını yapmak için 2 tane OledbDataAdapter ekleyip, diğer formumuzdaki gibi veri tabanına bağlanıyoruz. 2. OledbDataAdapterimizde Admin tablosunu seçiyoruz.

Admin şifresini ve kullanıcı ad ve şifresini veri tabanından çağırmak için Formun Load eventine aşağıdaki kodları yazıyoruz.

OleDbDataAdapter1.Fill(DataSet11.Sifre)
OleDbDataAdapter2.Fill(DataSet11.Admin)

Dim dr As DataRow

For Each dr In DataSet11.Admin ' Admin şifresini çekmek için
admin = dr.Item("Admin")
Next

tanimlama() 'Yeni bir kullacı eklemeyi currency manager yöntemiyle yaptığımız için tanımlamamızı çağırıyoruz.
cm.AddNew()


Burada da tanımlamamızı bir sub içine yazıyoruz.

Sub tanimlama()
cm = CType(Me.BindingContext(DataView1), CurrencyManager)
End Sub

( CurrencyManager Yöntemiyle veri tabanına bağlantı yöntemi uygulamalı videosunu: http://www.kariyervideo.com/VideoAciklama.asp?id=22 bu adresten izleyebilirsiniz )

Evet arkadaşlar geldik en son işleme. Kaydet butonuna basıldığında yapılmasını istediğimiz işlemlere. Aşağıda iç içe geçmiş birsürü if blogları görüyorsunuz. Kafanızı karıştırmadan hemen anlatalım.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If TextBox1.Text = admin Then 'FormLoad eventinde admin şifresini almıştık. Burda textbox1 e yazılanla aynı olup olmadığını kararlaştırıyoruz.
If TextBox2.Text <> "" Then 'TextBox2(Kullanıcı Adı) Boş değilse Hemen aşağıdaki if bloguna geç.

If TextBox3.Text = TextBox4.Text And TextBox3.Text <> "" And TextBox4.Text <> "" Then 'Şifre bölümleride boş değilse veri tabanımıza yeni kullanıcıyı ekleyebiliriz.

cm.EndCurrentEdit()
OleDbDataAdapter1.Update(DataSet11.Sifre)
MsgBox("Yeni kullanıcı eklendi. Lütfen yeniden giriş yapınız.", MsgBoxStyle.Information, "İşlem Başarılı")
End

Else 'Şifreler aynı değilse

MsgBox("Şifreler birbiriyle uyuşmuyor. Lütfen yeniden giriniz.", MsgBoxStyle.Critical, "Dikkat!")
TextBox3.Clear()
TextBox4.Clear()
TextBox3.Focus() 'Textlerin ici boşalıyor ve textbox3 e odaklanıyor.

End If

Else 'Kullanıcı adı(textbox2) boş geçilmişse

MsgBox("Kullanıcı adını boş geçemezsiniz.", MsgBoxStyle.Critical, "Dikkat!")
TextBox2.Focus()
End If

Else ' Admin Şifresi yanlış girildiğinde

MsgBox("Admin şifresini yanlış girdiniz.Lütfen Tekrar Deneyiniz.", MsgBoxStyle.Critical, "Dikkat!")
TextBox1.Clear()
TextBox1.Focus()

End If

End Sub

Programımıza şifreli giriş uygulamamız bu şekilde sona eriyor arkadaşlar. Bu örneğin uygulamalı videosunu izlemek isterseniz (http://www.kariyervideo.com/VideoAciklama.asp?id=27 adresinden izleyebilirsiniz.

Bir sonraki makalelerimde görüşmek üzere…
Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
Visual Studio 2010 Beta 2'yi denediniz mi?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.