Adakah yang bisa menjelaskan kapan harus mengganti configure(HttpSecurity)
, configure(WebSecurity)
dan configure(AuthenticationManagerBuilder)
?
sumber
Adakah yang bisa menjelaskan kapan harus mengganti configure(HttpSecurity)
, configure(WebSecurity)
dan configure(AuthenticationManagerBuilder)
?
konfigurasi (AuthenticationManagerBuilder) digunakan untuk membuat mekanisme otentikasi dengan mengizinkan AuthenticationProviders ditambahkan dengan mudah: misalnya, berikut ini mendefinisikan otentikasi dalam memori dengan login 'pengguna' dan 'admin' yang ada di dalamnya.
public void configure(AuthenticationManagerBuilder auth) {
auth
.inMemoryAuthentication()
.withUser("user")
.password("password")
.roles("USER")
.and()
.withUser("admin")
.password("password")
.roles("ADMIN","USER");
}
konfigurasi (HttpSecurity) memungkinkan konfigurasi keamanan berbasis web pada tingkat sumber daya, berdasarkan kecocokan pilihan - misalnya Contoh di bawah ini membatasi URL yang dimulai dengan / admin / untuk pengguna yang memiliki peran ADMIN, dan menyatakan bahwa URL lain harus berhasil diautentikasi.
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
}
mengkonfigurasi (WebSecurity) digunakan untuk pengaturan konfigurasi yang mempengaruhi keamanan global (mengabaikan sumber daya, mengatur mode debug, menolak permintaan dengan menerapkan definisi firewall kustom). Misalnya, metode berikut akan menyebabkan permintaan apa pun yang dimulai dengan / resources / diabaikan untuk tujuan otentikasi.
public void configure(WebSecurity web) throws Exception {
web
.ignoring()
.antMatchers("/resources/**");
}
Anda dapat merujuk ke link berikut untuk informasi lebih lanjut Spring Security Java Config Preview: Web Security
http.authorizeUrls()
, mungkin telah diubah namanya menjadihttp.authorizeRequests()
beberapa waktu yang lalu.Penggunaan umum
ignoring()
metode WebSecurity menghilangkan Spring Security dan tidak ada fitur Spring Security yang akan tersedia. WebSecurity didasarkan di atas HttpSecurity.WebSecurity dalam contoh di atas memungkinkan Spring mengabaikan
/resources/**
dan/publics/**
. Oleh karena itu.antMatchers("/publics/**").hasRole("USER")
di HttpSecurity adalah unconsidered .configure(HttpSecurity)
memungkinkan konfigurasi keamanan berbasis web pada tingkat sumber daya , berdasarkan kecocokan pilihan - mis. Contoh di bawah ini membatasi URL yang dimulai dengan/admin/
pengguna yang memiliki peran ADMIN , dan menyatakan bahwa URL lain harus berhasil diautentikasi.configure(WebSecurity)
digunakan untuk setelan konfigurasi yang memengaruhi keamanan global (abaikan sumber daya, setel mode debug, tolak permintaan dengan menerapkan definisi firewall khusus). Sebagai contoh, metode berikut ini akan menyebabkan permintaan yang dimulai dengan/resources/
harus diabaikan untuk otentikasi tujuan.SecurityBuilder digunakan untuk membuat file
AuthenticationManager
. Memungkinkan untuk dengan mudah membangun otentikasi memori, otentikasi LDAP, otentikasi berbasis JDBC, menambahkan UserDetailsService, dan menambahkan AuthenticationProvider .sumber