2016-12-01 3 views
0

Ich möchte meine Anwendung zu sichern, so dass einige URLs für jedermann vollständig authentifiziert sind und admin URL für Admin-Benutzer zugänglich sein, vollständig authentifiziert sowie.Spring Security fullAuthenticated() und hasRole ("ADMIN")

Aber gerade jetzt, ich kann nicht einen Weg finden, fullyAuthenticaded() AND hasrole() zusammen zu verwenden.

@Override 
public void configure(HttpSecurity http) throws Exception { 
    http 
     .requestMatchers() 
      .antMatchers("/api/**", "/health") 
      .and() 
     .authorizeRequests() 
      .antMatchers("/health").permitAll() 
      .and() 
     .authorizeRequests() 
      .antMatchers("/api/get-data").fullyAuthenticated() 
      .and() 
     .authorizeRequests() 
      .anyRequest().hasRole("ADMIN"); 
} 

Antwort

1

Sie können so etwas schreiben:.

antMatchers ("/ api/get-data") Zugriff ("isFullyAuthenticated() und hasRole ('ROLE_BANNED')")

Dies ist wie Sie den Zugriff schreiben, wenn Sie in XML-Datei definieren. Das Gleiche hier.

Jetzt können Sie eine URL für eine antMatches mit nur isFullyAuthenticated und eine URL für eine andere antMatches mit Administratorrolle und isFullyAuthenticated definieren.

Für weitere Informationen lesen Sie this und this.

Verwandte Themen