Korrekte Verwendung von WebSecurity in WebSecurityConfigurerAdapter
In meinem Spring Boot Anwendung basiert auf der version 1.3.0.BUILD-SNAPSHOT, ich habe die statische Ressourcen (Bilder, css, js) in der static
Ordner unter resources
.
Sehe ich einige Beispiele in Bezug auf Sicherheit Konfiguration wie folgt aus:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(final WebSecurity web) throws Exception {
web.ignoring()
.antMatchers("/static/**");
}
}
Ist das Beispiel richtig?
Was sollte die Wirkung sein?
Wie um zu überprüfen, dass es funktioniert (z.B. eine Anfrage an localhost:8080/something
?
Welche coolen Dinge, die kann ich mit WebSecurity
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Deinem Beispiel bedeutet, dass der Frühling (Web -) Sicherheit ist ignorieren URL-Muster, die mit dem Ausdruck übereinstimmen, die Sie definiert haben
("/static/**")
. Diese URL wird übersprungen, Spring Security, daher nicht gesichert.Sehen WebSecurity API-Dokumentation für weitere Informationen.
Sie können so viele URL-Muster gesichert oder ungesichert, wie Sie wollen.
Mit Spring Security haben Sie Authentifizierung und access control Funktionen für die web-Schicht einer Anwendung. Sie können auch einschränken, die Benutzer einer bestimmten Rolle Zugriff auf eine bestimmte URL und so weiter.
Lesen Sie die Spring Security reference enthält weitere details:
http://docs.spring.io/spring-security/site/docs/current/reference/html/
Bestellung Vorrang von URL-Mustern
Lesen Sie hier weitere details:
http://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#filter-security-interceptor
Beispiel 1
Allgemeine Verwendung von WebSecurity
ignoring()
Methode unterlässt, Spring Security, und keiner von Spring Security-Funktionen zur Verfügung stehen.WebSecurity-basiert oben HttpSecurity
(in einer XML-Konfiguration können Sie dies schreiben:
<http pattern="/resources/**" security="none"/>
).WebSecurity im obigen Beispiel kann der Frühling ignorieren
/resources/**
und/publics/**
. Daher die.antMatchers("/publics/**").hasRole("USER")
im HttpSecurity ist unberücksichtigt.Beispiel 2
Muster sind immer ausgewertet um. Die unten Abstimmung ist ungültig, da die ersten Spiele jede Anfrage und werden nie das zweite Spiel:
WebSecurity
sagtignore
undHttpSecurity
sagtaccess("hasRole('ROLE_ADMIN')")
für einen bestimmten Pfad?Gut in den code, die Sie gemeinsam, wenn Sie hatte Ihre statische Dateien, also CSS/JS usw in einen Ordner namens statischen dann alle statischen Ressourcen werden auf der Seite Hinzugefügt, in der Erwägung, dass, wenn Sie nach Links aus
keiner von statischen Ressourcen geladen werden.
Spring Security ist äußerst mächtig, der Frühling hat tolle Dokumentation, so sollten Sie nur gehen, Lesen Sie über es vollständig zu schätzen wissen/verstehen.
Hier ist ein
link
resources/static