场景:
我有两个spring服务通过redis共享会话。一种服务是我的身份验证服务,另一种是ui。现在,我想针对auth服务进行身份验证,如果登录成功(不进行表单登录),则返回一个会话,并返回状态码200。我得到了可以成功进行身份验证的机制。
问题:
即使我已成功获得授权,我也会获得状态404。
我的期望: 我的目标是客户端可以调用auth服务并获得有效的会话和httpstatus OK。 之后,他可以在ui服务中调用其特定于角色的终结点。 auth验证可用于共享redis会话。
代码:
@Configuration
@EnableWebSecurity
//Security Routine for handling mobile login
public class RestSecurityAdapter extends WebSecurityConfigurerAdapter {
@Autowired
private AuthenticationEntryPoint entryPoint;
@Autowired
private MyUserDetailsService userDetailsService;
@Bean
@Override
@Qualifier("authenticationManagerBean")
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService);
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
http.authorizeRequests().anyRequest().authenticated().and().httpBasic().authenticationEntryPoint(entryPoint);
http.addFilterAt(new CustomBasicAuthenticationFilter(authenticationManagerBean()),
BasicAuthenticationFilter.class);
}
@Bean
public static NoOpPasswordEncoder passwordEncoder() {
return (NoOpPasswordEncoder) NoOpPasswordEncoder.getInstance();
}
}
问题:
为什么登录成功后返回400错误而不显示状态?