Könnte jemand erklären, wann zu überschreiben ist configure(HttpSecurity)
, configure(WebSecurity)
und configure(AuthenticationManagerBuilder)
?
quelle
Könnte jemand erklären, wann zu überschreiben ist configure(HttpSecurity)
, configure(WebSecurity)
und configure(AuthenticationManagerBuilder)
?
configure (AuthenticationManagerBuilder) wird verwendet, um einen Authentifizierungsmechanismus einzurichten, indem AuthenticationProviders einfach hinzugefügt werden können: Beispiel: Im Folgenden wird die speicherinterne Authentifizierung mit den integrierten Anmeldungen "Benutzer" und "Administrator" definiert.
public void configure(AuthenticationManagerBuilder auth) {
auth
.inMemoryAuthentication()
.withUser("user")
.password("password")
.roles("USER")
.and()
.withUser("admin")
.password("password")
.roles("ADMIN","USER");
}
configure (HttpSecurity) ermöglicht die Konfiguration der webbasierten Sicherheit auf Ressourcenebene basierend auf einer Auswahlübereinstimmung. Beispiel: Das folgende Beispiel beschränkt die URLs, die mit / admin / beginnen, auf Benutzer mit ADMIN-Rolle und erklärt, dass andere URLs erforderlich sind erfolgreich authentifiziert.
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
}
configure (WebSecurity) wird für Konfigurationseinstellungen verwendet, die sich auf die globale Sicherheit auswirken (Ressourcen ignorieren, Debug-Modus festlegen, Anforderungen durch Implementierung einer benutzerdefinierten Firewall-Definition ablehnen). Die folgende Methode würde beispielsweise dazu führen, dass Anforderungen, die mit / resources / beginnen, zu Authentifizierungszwecken ignoriert werden.
public void configure(WebSecurity web) throws Exception {
web
.ignoring()
.antMatchers("/resources/**");
}
Weitere Informationen finden Sie unter folgendem Link. Spring Security Java Config Preview: Web Security
http.authorizeUrls()
. Vielleicht wurde sie vorhttp.authorizeRequests()
einiger Zeit umbenannt .Bei der allgemeinen Verwendung der WebSecurity-
ignoring()
Methode wird Spring Security weggelassen , und keine der Funktionen von Spring Security ist verfügbar. WebSecurity basiert auf HttpSecurity.Mit WebSecurity im obigen Beispiel kann Spring
/resources/**
und ignorieren/publics/**
. Deshalb ist die.antMatchers("/publics/**").hasRole("USER")
in HttpSecurity ist unbedacht .configure(HttpSecurity)
Ermöglicht die Konfiguration der webbasierten Sicherheit auf Ressourcenebene basierend auf einer Auswahlübereinstimmung. Beispiel: Das folgende Beispiel beschränkt die URLs, die mit beginnen,/admin/
auf Benutzer mit ADMIN-Rolle und erklärt, dass alle anderen URLs erfolgreich authentifiziert werden müssen.configure(WebSecurity)
wird für Konfigurationseinstellungen verwendet, die sich auf die globale Sicherheit auswirken (Ressourcen ignorieren, Debug-Modus festlegen, Anforderungen durch Implementierung einer benutzerdefinierten Firewall-Definition ablehnen). Die folgende Methode würde beispielsweise dazu führen, dass Anforderungen, die mit beginnen/resources/
, für Authentifizierungszwecke ignoriert werden.SecurityBuilder zum Erstellen eines
AuthenticationManager
. Ermöglicht das einfache Einbauen von Speicherauthentifizierung, LDAP-Authentifizierung, JDBC-basierter Authentifizierung, Hinzufügen von UserDetailsService und Hinzufügen von AuthenticationProvidern .quelle