كل المشاريع
واجهة خلفية

إدارة مستشفى — Spring MVC + Security

تطبيق ويب كامل لإدارة المرضى: Spring MVC + Spring Data JPA + Thymeleaf مع بحث مُقسَّم لصفحات، والتحقق من النماذج، وSpring Security 6 (تسجيل دخول بنموذج، remember-me، وتفويض حسب الأدوار USER مقابل ADMIN).

Spring Security 6
Security
USER / ADMIN
Roles
Thymeleaf
View engine
Bean Validation
Validation
المنهجية

MVC + JPA مُصيَّر من الخادم مع حراسة أدوار @PreAuthorize على مستوى الدوال ومصادقة BCrypt

المكدس التقني
Java 17Spring Boot 3.2Spring MVCSpring Security 6Spring Data JPAThymeleafBootstrap 5MySQLH2
الكلمات المفتاحية
Spring MVCSpring SecurityThymeleafSpring Data JPARBACBCryptBootstrap
التعمق

تطبيق ويب مُصيَّر بالكامل من الخادم لإدارة مرضى المستشفى، مؤمَّن من طرف إلى طرف بـ Spring Security 6.

الميزات

  • 📋 قائمة مرضى مُقسَّمة لصفحات + بحث بالاسم
  • ➕ إضافة مريض مع التحقق (@NotEmpty، @Size، @DecimalMin)
  • ✏️ تعديل / 🗑️ حذف — مقتصر على المدراء
  • 🔐 تسجيل دخول بنموذج، remember-me، صفحة «غير مصرّح» مخصّصة
  • 👥 مسارات حسب الدور: /user/** → USER، /admin/** → ADMIN

البنية

security/    → SecurityConfig (سلسلة المرشّحات)، SecurityController
web/         → PatientController (CRUD، ترقيم، @PreAuthorize)
repository/  → PatientRepository (JpaRepository)
entities/    → Patient (JPA + التحقق)
templates/   → واجهات Thymeleaf بتخطيط مشترك (Bootstrap 5)

نموذج المصادقة مستخدمون في الذاكرة بتجزئة BCrypt: user1/user2 (USER) وadmin (USER + ADMIN). تحمي @PreAuthorize على مستوى الدوال عمليات التعديل بينما تبقى واجهات القراءة متاحة للمستخدمين المصادَق عليهم. يعمل على :8084 مع مخطط MySQL hopital (يُنشأ تلقائياً)، وH2 للاختبارات.