2016-04-02 1 views
0

Authentifizierung wird, so dass ich die userId und Rolle im HttpRequest haben. Also alles, was ich tun möchte, ist die Benutzer Details und role Behörden (für Autorisierung) ohne ein Login-Formular.Benutzerdefinierte UserDetailsService nicht genannt zu werden, wenn ich von einem anderen System durchgeführt formLogin()

Also habe ich eine benutzerdefinierte Implementierung von UserDetailsService ... aber es ist nicht genannt bekommt und deshalb sind die Rollen nicht gesetzt

Wie ich es einrichten kann, so dass die benutzerdefinierte UserDetailsService aufgerufen wird? Oder andere Möglichkeiten, wie Sie dies erreichen?

@Override 
protected void configure(HttpSecurity http) throws Exception{ 

CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter(); 
encodingFilter.setEncoding("UTF-8"); 
encodingFilter.setForceEncoding(true); 
http 
.addFilterBefore(encodingFilter,CsrfFilter.class) 
.addFilterAfter(new MdcFilter(), SwitchUserFilter.class) 
.addFilterAfter(new ParameterSanitizerFilter(), MdcFilter.class) 
.authorizeRequests() 
.antMatchers("/**").hasAnyRole(StringConstants.USER_ROLE, StringConstants.MANAGER_ROLE); 
//.formLogin(); 
} 

Antwort

Verwandte Themen