2016-07-16 14 views
0

Ich versuche, grundlegende Authentifizierung für meine APIs hinzufügen, wo die Benutzer basierend auf ihren Anmeldeinformationen in MongoDB gespeichert authentifiziert werden. Ich möchte Java Config anstelle von XML-basierten Config verwenden. Was ich bisher gelernt habe, ist, dass ich @Configuration erstellen muss, indem ich WebSecurityConfigurerAdapter erweitere und configure überschreibe. In diesem kann ich einen benutzerdefinierten Filter von addFilterBefore() hinzufügen.Spring Sicherheit Java Config grundlegende Authentifizierungsfilter

Aber wie bekomme ich eine Authentication Header-Informationen im Filter, wie Sie vorgehen, wenn der Benutzer authentifiziert ist. Ich habe viel gegoogelt, aber ich habe kein gutes Beispiel gefunden, das einem Anfänger wie mir helfen würde, der nur eine Woche im Frühling war.

Hat jemand ein gutes Tutorial oder Beispiel, das mir helfen kann, damit anzufangen? Danke im Voraus.

Antwort

0

Als Beispiel können Sie die nächste Lösung verwenden.

@Override 
protected void configure(HttpSecurity http) throws Exception {  
    http.httpBasic().authenticationEntryPoint(getBasicAuthenticationEntryPoint()); 
} 

@Bean 
public BasicAuthenticationEntryPoint getBasicAuthenticationEntryPoint(){ 
    BasicAuthenticationEntryPoint basicAuthenticationEntryPoint = new BasicAuthenticationEntryPoint(); 
    basicAuthenticationEntryPoint.setRealmName("Basic Authentication"); 
    return basicAuthenticationEntryPoint; 
} 

@Bean 
@Override 
public AuthenticationManager authenticationManagerBean() throws Exception { 
    return super.authenticationManagerBean(); 
} 

@Autowired 
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { 
    auth 
      .userDetailsService(userDetailsService) 
      .passwordEncoder(passwordEncoder()); 

} 

Es funktioniert für mich. Sie müssen jedoch die UserDetailsService-Schnittstelle implementieren. Spring überprüft automatisch, ob der Benutzer authentifiziert ist und versucht, die Authentifizierung fortzusetzen, falls dies nicht der Fall ist.

+0

Vielen Dank für Ihre Antwort, aber wie ich schon sagte, ich bin völlig neu im Frühling, also können Sie bitte ein ausführliches Beispiel oder eine Probe teilen. Vielen Dank – BiJ

Verwandte Themen