Hoşgeldin Misafir

Spring Boot ile Gerçek Hayat Projesi Kullanıcı Giriş Sistemi Yapımı

hakantopuzoglu

25 May 2018
2,238 Mesaj
TIM Görevleri
1

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Spring Boot ile Gerçek Hayat Projesi Kullanıcı Giriş Sistemi Yapımı

Herkese merhaba,
Spring Boot günümüzde kurumsal projelerde en çok kullanılan Java frameworklerinden biridir.
Bu yazıda **gerçek hayat projelerinde kullanılan kullanıcı giriş sistemi (Login System)** nasıl yapılır, adım adım anlatıyoruz.

JWT, şifreleme ve rol yönetimi gibi temel yapıları da ele alacağız.

7y42rm2.png


1) Proje Yapısı Nasıl Olmalı?


Standart klasör yapısı:

- controller
- service
- repository
- entity
- security
- dto

✔ Temiz mimari = sürdürülebilir proje

2) Kullanıcı Entity Oluşturma


Temel alanlar:

- id
- username
- email
- password
- role

Şifreler düz metin tutulmaz.

✔ BCrypt ile hashlenmelidir

3) Register (Kayıt) Sistemi


Kullanıcı kayıt olurken:

- Email kontrol edilir
- Kullanıcı adı benzersiz olmalıdır
- Şifre hashlenir
- Veritabanına kaydedilir

✔ Email doğrulama eklemek profesyonel çözümdür

4) Login Sistemi


Kullanıcı giriş yaptığında:

- Username / email alınır
- Şifre doğrulanır
- Başarılıysa token üretilir

Genelde kullanılan sistem:

✔ JWT (JSON Web Token)

5) Spring Security Kullanımı


Spring Security ile:

- Yetkisiz erişim engellenir
- Endpoint koruması yapılır
- Role bazlı yetki verilir

Örnek:

ADMIN → tüm panel
USER → normal erişim

6) Gerçek Hayat İçin Ekstra Özellikler


Profesyonel sistemlerde mutlaka eklenmeli:

- Şifremi unuttum sistemi
- Email doğrulama
- Refresh token
- Login log kayıtları
- 2FA doğrulama

✔ Bunlar projeyi seviye atlatır

7) Veritabanı Önerisi


Kullanılabilir:

- PostgreSQL
- MySQL
- MariaDB

✔ PostgreSQL güçlü tercihtir

Sonuç olarak;


Spring Boot ile kullanıcı giriş sistemi kurmak oldukça profesyonel ve ölçeklenebilir bir çözümdür.

- JWT kullanın
- BCrypt ile şifreleyin
- Spring Security ekleyin
- Role sistemi kurun

✔ Böylece gerçek hayat projesine uygun login sistemi oluşturabilirsiniz.




LOJİSTİK TİM SUNDU

btn1pyf.png