Spring Boot

Autentikasi & otorisasi tingkat lanjut

Autentikasi tingkat lanjut, otorisasi yang detail dengan @PreAuthorize/@PostAuthorize, roles, permissions, SpEL

30 pertanyaan wawancaraยท
Senior
1

Apa peran utama interface UserDetailsService di Spring Security?

Jawaban

UserDetailsService bertanggung jawab memuat informasi pengguna dari sumber data (database, LDAP, dll.) selama autentikasi. Method loadUserByUsername()-nya mengembalikan objek UserDetails yang berisi username, password, roles, dan authorities. Spring Security kemudian menggunakan informasi ini untuk memvalidasi credentials dan membangun SecurityContext.

2

Anotasi mana yang mengaktifkan keamanan tingkat method di Spring Security 6+?

Jawaban

@EnableMethodSecurity adalah anotasi modern di Spring Security 6+ yang mengaktifkan keamanan tingkat method. Anotasi ini menggantikan @EnableGlobalMethodSecurity yang lama dan secara default mengaktifkan @PreAuthorize, @PostAuthorize, dan @Secured. Anotasi ini menggunakan konfigurasi berbasis proxy AOP untuk mencegat panggilan method dan memeriksa otorisasi.

3

Kapan anotasi @PreAuthorize memeriksa otorisasi?

Jawaban

@PreAuthorize memeriksa otorisasi SEBELUM eksekusi method. Jika kondisi SpEL mengembalikan false, AccessDeniedException dilempar dan method tidak pernah dieksekusi. Ini mencegah akses ke resource yang tidak diotorisasi sejak awal. Sebaliknya, @PostAuthorize memeriksa setelah eksekusi, yang berguna untuk memfilter hasil berdasarkan pengguna.

4

Apa perbedaan utama antara hasRole() dan hasAuthority() di Spring Security?

5

Bagaimana cara mengimplementasikan UserDetailsService kustom yang memuat pengguna dari database?

+27 pertanyaan wawancara

Kuasai Spring Boot untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis