2016-08-02 24 views
0

Also versuche ich die Federal Autorisierung zu implementieren. Ich habe die Dokumentation gelesen und den folgenden Code hinzugefügt.Federberechtigung für eingeloggte Benutzer

@Configuration 
@EnableWebSecurity 
public class WebSecurityConfig extends WebSecurityConfigurerAdapter { 

    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http.authorizeRequests() 
       .antMatchers("/login", "/logout", "/register", "resources/**").permitAll() 
       .anyRequest().authenticated() 
       .and() 
       .formLogin() 
       .loginPage("/login") 
       .loginProcessingUrl("/login"); 
    } 
} 

Dies funktioniert so einfach. Aber was ich wirklich will, ist, dass ich meine eigene authentifizierte() Methode implementiere. Also, wenn anyRequest().authenticated() ausgeführt wird, sollte es im Grunde meine eigene implementierte authenticated() -Methode aufrufen, wo ich überprüfe, ob ein Benutzer angemeldet ist oder nicht. Ich möchte so etwas wie dies unter

authenticated(){ 
//I check here if user is present in the session or not 
//this means logged in or not 
} 

Also, was ich wirklich brauchen, das ist zu wissen, wie authenticated() Verfahren zu implementieren, so dass, wenn anyRequest().authenticated() meine eigene authenticated() ausgeführt wird Methode aufgerufen wird.

+0

Warum möchten Sie das tun? Was ist das Verhalten, das Sie für Ihre Anwendung wünschen? – chrylis

Antwort

0

Sie müssen Ihren eigenen AuthenticationManager implementieren. Es wird automatisch in Ihre Filterkette eingebunden, wenn Sie es @Component.