javaconfig (XML 없음)만을 사용하여 다이제스트 인증을위한 Spring 4.0 및 Spring Security (3.2.0)를 어떻게 구성합니까? 아래의 구성 클래스를 사용하고 있지만 모든 요청은 HTTP 401에서 거부되고 "Nonce는 두 개의 토큰을 가져 왔음에 틀림 없지만 (... 메시지가 거기에서 멈 춥니 다").JavaConfig를 사용하는 스프링 보안 다이제스트 인증 예
인증 : = "사용자"다이제스트 사용자 이름, 영역 = "myrealm", 비표 = "", URI = "/ 서비스 나는 헤더를 포함하여 클라이언트 측에서 인증을 시도하고
@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;
}
}
? param = 98 ", response ="fcd46faf42a583499d4e7f0371171ef2 ", opaque =" "
이 클래스를 HttpBasic 기반 구성으로 되돌리려면 의도 한 서비스에 액세스 할 수 있습니다. 내 구성 또는 요청에 문제가 있습니까? 위의 코드 대부분은 다른 게시물에서 빌려 왔지만이 컨텍스트에서 작동하는 것은 불가능합니다. 이 모든 것은 Spring Boot 0.5.0M7 내에서 실행된다.
감사합니다.