Java Spring MVC 13. Day (Onüçüncü Gün)
@Column (nullable=false) → database null veri kabul etmez, garantidir
@NotNull → hibernate garanti fakat normalde uygulama levelinde kontrol ediyor
@NotEmpty → not null && not empty
-
uygulamada şifre kısmına herhangi bi kod yazmayalım, bi configuration dosyamız olsun ve ordan çeksin şifreleri vs. Böylece githuba kod attığımız zaman bu kısımları göstermemiş oluruz.
-
Controller seviyesinde çalışanlar : @NotNull, @NotEmpty
-
Database seviyesinde çalışanlar: @Column
-
@Column(optional=false) → zorunluluk, mutlaka olmalı.
BCRYPT
123 + randomSaltValue() → C8FTRE90 : hash
-
parolamız için random bi saltvalue üretiyor ve bununla şifreliyor. Aynı parola aynı saltvalue ile hep aynı hash veriyor.
-
hash ve salt değerini bilsek bile parola geri döndürelemez. Bu yüzden güçlüdür.
-
login → üretilen salt değerini hash value içinde tutuyor. Kullanıcının hash bilgisi çekiliyor, saltvalue burdan alınıyor, girilen parola ve saltvalue ile yeniden hash oluşturuluyor, eğer aynıysa giriş yapılıyor.
@Bean → dependency pool içine atar bu annotation
SecurityConfig
→ burda bi passwordencoder oluşturup dependency poola atıyoruz
→ kullanıcıları enrden alacağımızı belirliyoruz: database etc.
→ configure function : antmatchers ile path controlü yapıyoruz.
WebAppInitializer → roota tanımlıyor springi ve ordan yönetiyor.