المستخدمون من قاعدة البيانات
في هذا الدرس 4 موضوعات
هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.
نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.
في هذا الدرس
authenticate against users stored in the Shop database.
الموضوعات المخطط لها
UserDetailsServicehas one method:loadUserByUsername. It returns aUserDetails(name, password hash, authorities).- Load the user with a repository; throw
UsernameNotFoundExceptionif missing. - Spring Security compares the submitted password with the stored hash using a
PasswordEncoder. - Map your role column to authorities;
hasRole("ADMIN")looks forROLE_ADMIN. - Never store plain passwords (next module covers hashing).
تفاصيل المخطط المبدئي
عرض عملي
@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.
التطبيق
طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.
تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.