Wie konfigurieren Sie Spring 4.0 und Spring Security (3.2.0) für die Digest-Authentifizierung ausschließlich mit javaconfig (kein XML)? Ich benutze die folgende Konfigurationsklasse, jedoch werden alle Anfragen mit HTTP 401 verweigert und "Nonce sollte zwei Tokens ergeben haben, aber war (... Nachricht hört einfach dort auf)".Spring Security Digest Auth mit JavaConfig Beispiel
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfigurationDigest extends WebSecurityConfigurerAdapter
{
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception
{
auth.inMemoryAuthentication().withUser("user").password("password").roles("USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception
{
http.authorizeRequests().antMatchers("/**").authenticated().and().addFilter(digestAuthenticationFilter(digestEntryPoint()));
}
@Override
@Bean
public UserDetailsService userDetailsServiceBean() throws Exception
{
return super.userDetailsServiceBean();
}
public DigestAuthenticationFilter digestAuthenticationFilter(DigestAuthenticationEntryPoint digestAuthenticationEntryPoint) throws Exception
{
DigestAuthenticationFilter digestAuthenticationFilter = new DigestAuthenticationFilter();
digestAuthenticationFilter.setAuthenticationEntryPoint(digestEntryPoint());
digestAuthenticationFilter.setUserDetailsService(userDetailsServiceBean());
return digestAuthenticationFilter;
}
@Bean
public DigestAuthenticationEntryPoint digestEntryPoint()
{
DigestAuthenticationEntryPoint digestAuthenticationEntryPoint = new DigestAuthenticationEntryPoint();
digestAuthenticationEntryPoint.setKey("mykey");
digestAuthenticationEntryPoint.setRealmName("myrealm");
return digestAuthenticationEntryPoint;
}
}
ich auf der Clientseite zu genehmigen bin versucht, durch den Header einschließlich:
Authorization: Digest username = "user", realm = "mein", nonce = "", uri = "/ Service ? param = 98 ", Antwort =" fcd46faf42a583499d4e7f0371171ef2 ", opaque =" "
Ich bin in der Lage, auf die vorgesehenen Dienste zuzugreifen, wenn ich diese Klasse auf eine HttpBasic-basierte Konfiguration zurücksetze. Ist das Problem mit meiner Konfiguration oder mit meiner Anfrage? Der Großteil des obigen Codes wurde von einem anderen Beitrag ausgeliehen, aber ich kann in diesem Zusammenhang keine Dinge zum Laufen bringen. All dies läuft in Spring Boot 0.5.0M7.
Danke.