Czy ktoś mógłby wyjaśnić, kiedy zastąpić configure(HttpSecurity)
, configure(WebSecurity)
i configure(AuthenticationManagerBuilder)
?
źródło
Czy ktoś mógłby wyjaśnić, kiedy zastąpić configure(HttpSecurity)
, configure(WebSecurity)
i configure(AuthenticationManagerBuilder)
?
configure (AuthenticationManagerBuilder) służy do ustanowienia mechanizmu uwierzytelniania poprzez umożliwienie łatwego dodawania AuthenticationProviderów: np. Poniżej zdefiniowano uwierzytelnianie w pamięci z wbudowanymi loginami „użytkownik” i „administrator”.
public void configure(AuthenticationManagerBuilder auth) {
auth
.inMemoryAuthentication()
.withUser("user")
.password("password")
.roles("USER")
.and()
.withUser("admin")
.password("password")
.roles("ADMIN","USER");
}
configure (HttpSecurity) umożliwia konfigurację zabezpieczeń internetowych na poziomie zasobów w oparciu o dopasowanie wyboru - np. poniższy przykład ogranicza adresy URL zaczynające się od / admin / do użytkowników, którzy mają rolę ADMINISTRATOR, i deklaruje, że wszelkie inne adresy URL muszą być pomyślnie uwierzytelniony.
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
}
configure (WebSecurity) jest używany do ustawień konfiguracji, które mają wpływ na globalne bezpieczeństwo (ignorowanie zasobów, ustawianie trybu debugowania, odrzucanie żądań poprzez implementację niestandardowej definicji zapory). Na przykład poniższa metoda spowodowałaby, że każde żądanie zaczynające się od / resources / zostało zignorowane na potrzeby uwierzytelniania.
public void configure(WebSecurity web) throws Exception {
web
.ignoring()
.antMatchers("/resources/**");
}
Możesz skorzystać z następującego łącza, aby uzyskać więcej informacji Spring Security Java Config Preview: Web Security
http.authorizeUrls()
, być może została zmieniona nahttp.authorizeRequests()
jakiś czas temu.Ogólne użycie
ignoring()
metody WebSecurity pomija Spring Security i żadna z funkcji Spring Security nie będzie dostępna. WebSecurity jest oparte na HttpSecurity.WebSecurity w powyższym przykładzie pozwala Springowi ignorować
/resources/**
i/publics/**
. Dlatego.antMatchers("/publics/**").hasRole("USER")
w HttpSecurity nie jest brane pod uwagę .configure(HttpSecurity)
umożliwia konfigurację zabezpieczeń internetowych na poziomie zasobów w oparciu o dopasowanie wyboru - np. poniższy przykład ogranicza adresy URL zaczynające się od/admin/
do użytkowników posiadających rolę ADMINISTRATOR i deklaruje, że wszelkie inne adresy URL muszą zostać pomyślnie uwierzytelnione.configure(WebSecurity)
służy do konfigurowania ustawień, które mają wpływ na globalne bezpieczeństwo (ignorowanie zasobów, ustawianie trybu debugowania, odrzucanie żądań poprzez implementację niestandardowej definicji zapory). Na przykład poniższa metoda spowodowałaby, że każde żądanie rozpoczynające się/resources/
od zostanie zignorowane na potrzeby uwierzytelniania .SecurityBuilder używany do tworzenia
AuthenticationManager
. Umożliwia łatwe budowanie uwierzytelniania pamięci, uwierzytelniania LDAP, uwierzytelniania opartego na JDBC, dodawania usługi UserDetailsService i dodawania usługi AuthenticationProvider .źródło