我对SpringCors有意见。
我在 chome 上收到此错误:从源“http://localhost:4200”以“http://localhost:8080/api/informationWS”访问 XMLHttpRequest 已被 CORS 策略阻止:请求的资源上不存在“访问控制-允许-源”标头。
我的文件Web安全配置适配器
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private LoginService loginService;
@Bean
protected AuthenticationManager authenticationManager() throws Exception {
return super.authenticationManager();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.userDetailsService(loginService)
.passwordEncoder(this.passwordEncoderAutentication());
}
@Bean
public PasswordEncoder passwordEncoderAutentication() {
String idForEncode = "bcrypt";
Map<String, PasswordEncoder> encoders = new HashMap<>();
encoders.put(idForEncode, new BCryptPasswordEncoder());
encoders.put("pbkdf2", new Pbkdf2PasswordEncoder());
encoders.put("scrypt", new SCryptPasswordEncoder());
PasswordEncoder passwordEncoder = new DelegatingPasswordEncoder(idForEncode, encoders);
return passwordEncoder;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
http.cors();
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
}
我的文件资源服务器配置适配器
@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
@Override
public void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers(HttpMethod.GET, "/api/informationWS").permitAll()
.antMatchers(HttpMethod.POST, "/api/work").authenticated()
.anyRequest().denyAll();
}
}
我试图以以下两种方式与Cors合作,但它们都没有工作,产生了相同的错误
我的文件cors
@Configuration
@EnableWebMvc
public class Cors implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://localhost:4200");
}
}
我的文件Cors2
@Configuration
public class Cors {
@Bean
public FilterRegistrationBean<CorsFilter> corsFilterFilterRegistrationBean(){
List<String> host = Arrays.asList("http://localhost:4200");
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.setAllowedOrigins(host);
corsConfiguration.setAllowedHeaders(Arrays.asList("*"));
corsConfiguration.setAllowedMethods(Arrays.asList("*"));
corsConfiguration.setAllowCredentials(true);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/api/**", corsConfiguration);
CorsFilter corsFilter = new CorsFilter(source);
FilterRegistrationBean<CorsFilter> filter = new FilterRegistrationBean<>(corsFilter);
filter.setOrder(Ordered.HIGHEST_PRECEDENCE);
return filter;
}
}
您可以尝试/检查的内容:
更多细节,技术不同但概念相同:https://dariuscoder.com/2021/09/16/how-to-debug-cors/
我正在使用Spring security和Oauth2。但是我是Spring Oauth2的新手,当前端处理访问资源时,我遇到了CORS错误。 我正在使用下面的筛选器来允许其他域访问该资源: 我编写了下面的代码,以允许在我的SecurityConfiguration.java中使用公共资源。 对于Oauth2,下面的代码用于保护我的oauth2serverconfig.java中的用户资源。 当我
我使用Spring Redis和@Cacheable注释来实现两种方法。当我调用一个方法时,我会得到另一个方法的缓存结果。 当我使用@Cachebale注释为每个方法配置不同的缓存时,怎么可能从错误的缓存中得到结果? 安装:Spring版本4.1.6。Redis data 1.5和Redis client 2.7.0。 示例代码:
问题内容: 我正在尝试使用Hibernate + Spring + JFS构建一个应用程序,但是在运行该应用程序时出现此错误,我已经搜索了此错误,但找不到任何东西。 我认为这是主要的错误: org.springframework.beans.factory.BeanCreationException:创建在ServletContext资源[/WEB- INF/applicationContext.
问题内容: 更新:添加Maven依赖关系 * 更新:通过添加 Maven依赖关系 解决了该错误* 美好的一天。我有AplicationContext.xml的这一部分 Maven Dep spring和hibernate 但是,当我启动我的应用程序时,它告诉我这个错误 但是我正在使用hibernate4。这是什么魔术?=)我已经尝试过重新部署应用程序,但是结果是一样的 问题答案: 您已经错过了Sp
我在研究STS数据库连接。 我试着和我当地的数据库联系。 类型异常报告 servlet的消息servlet.init()appServlet引发异常 说明服务器遇到一个内部错误,使其无法满足此请求。 我想避免这个错误。 我该怎么办?
你好,我刚刚在spring boot initializer中创建了一个项目,但当我在sts中导入该项目时,我有一组错误,我不明白 错误有: