انتقل إلى المحتوى
أمين أبوزيد
درس مخطط لهJNR-036-L03

المستخدمون من قاعدة البيانات

  • الدرس 3 من 8
  • Junior
في هذا الدرس 4 موضوعات

هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.

نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.

في هذا الدرس

authenticate against users stored in the Shop database.

الموضوعات المخطط لها

  • UserDetailsService has one method: loadUserByUsername. It returns a UserDetails (name, password hash, authorities).
  • Load the user with a repository; throw UsernameNotFoundException if missing.
  • Spring Security compares the submitted password with the stored hash using a PasswordEncoder.
  • Map your role column to authorities; hasRole("ADMIN") looks for ROLE_ADMIN.
  • Never store plain passwords (next module covers hashing).
تفاصيل المخطط المبدئي

عرض عملي

java
@Service
class DbUserDetailsService implements UserDetailsService {
    public UserDetails loadUserByUsername(String email) {
        var u = users.findByEmail(email).orElseThrow(() -> new UsernameNotFoundException("no user"));
        return User.withUsername(u.getEmail()).password(u.getPasswordHash())
                   .roles(u.getRole()).build();
    }
}

اختبر فهمك

What does hasRole("ADMIN") look for?

أظهر الإجابة

The authority ROLE_ADMIN.

التطبيق

طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.

المختبر والتمارين الاختبار

تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.

اكتب للبحث في المستويات والمراحل والوحدات والدروس.