尝试一些请求时的Spring Security和Angular 401错误

时间:2019-04-20 11:41:25

标签: java angular spring security

我有一个安心的Angular / Jee应用程序。 我正在使用Spring Boot和安全性。

来自localhost:8080的所有请求都运行良好

从角(localhost:4200/)上,登录/注销,当我尝试另一个类似localhost:8080/getUserBooks的请求时,注册者请求运行良好 它失败并显示401 error

注意: -我尝试停用Chrome的CORS,但无法正常工作。 -我读了很多相同的问题,但没有解决方案适合我的情况。 -我已经将注释@CrossOrigin(“ *”)添加到我的rest控制器中

这是我的WebSecurity配置

@Override
protected void configure(HttpSecurity http) throws Exception {
    // http.cors().and().csrf().disable().authorizeRequests()
    http.csrf().disable().httpBasic().and().authorizeRequests().antMatchers(HttpMethod.POST, SIGN_UP_URL)
            .permitAll().anyRequest().authenticated().and()
            .addFilter(new JWTAuthenticationFilter(authenticationManager()))
            .addFilter(new JWTAuthorizationFilter(authenticationManager())).sessionManagement()
            .sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}

@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
    auth.userDetailsService(userDetailsService).passwordEncoder(bCryptPasswordEncoder);
}

@Bean
CorsConfigurationSource corsConfigurationSource() {
    final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    source.registerCorsConfiguration("/**", new CorsConfiguration().applyPermitDefaultValues());
    return source;
}

1 个答案:

答案 0 :(得分:0)

您必须必须允许端口8080的交叉原点