Rails 4 ile kimlik doğrulama işlemleri nasıl
yapılıyor bu yazıda onu anlatacağım.
İlk adım olarak Gemfile içine parolaları şifrelemek için gerekli bcrypt-ruby gem’ini ekliyoruz. Ardından bundle install ile gemi kuruyoruz.
email ve password_digest alanları olan bir User modeli
üretelim. password_digest şifrelenmiş parolanın tutulacağı alan.
Daha sonra veritabanında tablomuzu oluşturalım.
User modelimize has_secure_password satırını ekliyoruz. Bu sayede password
ve password_confirmation şeklinde iki tane sanal özelliğimiz olacak. Bu
özellikler veritabanında tutulmamakta.
Bu arada bu sanal özelliklere yukarıdaki gibi doğrulamalar(validates) eklemek
mümkün. Parola için presence kontrolü has_secure_password ile gelir, eklemenize gerek
yoktur.
Test edelim.
Görüldüğü gibi User tablomuzda password ve password_confirmation yok.
Fakat atama yapabiliyorum. Eğer has_secure_password modelimizden silinirse
atama yapılırken hata verecektir. Password ve password_confirmation alanları yok
olacaktır. Deneyerek görmenizde fayda var.
Parolayı boş veya eşlenmeyen şekilde girmeyi deneyelim.
Authenticate işlemi
email: 'askn@bil.omu.edu.tr'
parola: 123123
olan bir kullanıcı oluşturalım ve kimlik doğrulaması yapalım.
authenticate işlemi de has_secure_password ile gelmektedir.
Kimlik doğrulama işlemi için gerekli User modelimizi oluşturmayı bu yazımda öğrendik.