尝试某些请求时出现Spring安全性和角度401错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试某些请求时出现Spring安全性和角度401错误相关的知识,希望对你有一定的参考价值。

我有一个宁静的申请Angular / Jee。我正在使用spring Boot和安全性。

所有请求都在localhost:8080运作良好

从角度(localhost:4200/),登录/注销和注册商请求工作正常但是当我尝试另一个请求,如localhost:8080/getUserBooks它失败与401 error

注意: - 我试图从Chrome中解除CORS,但是没有用。 - 我读了很多相同的问题,但没有解决方案适用于我的情况。 - 我已将注释@CrossOrigin(“*”)添加到我的其余控制器

这是我的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;
}
答案

您必须允许交叉源为端口号:8080

以上是关于尝试某些请求时出现Spring安全性和角度401错误的主要内容,如果未能解决你的问题,请参考以下文章

从角度访问webapi时出现401未经授权的错误

向 Spotify API 发出 PUT 请求时出现 401 错误

尝试访问 REST API 时出现 401(未授权)

尝试在 Eve Flask 框架中验证用户时出现 401

在 grails 应用程序中调用 spring security rest 插件登录时出现 401 未经授权的错误

Skype for Business UCWA oauth 问题,尝试创建 ucwa 应用程序时出现错误 401