Я размещаю свои статические страницы на s3 и размещаю приложение весенней загрузки на эластичном beanstalk
Конфигурация загрузочных пружин Spring:
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("http://*******.s3-ap-southeast-2.amazonaws.com")
.allowCredentials(true);
}
};
}
Конфигурация безопасности Spring:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.cors().and()
.csrf().disable()
.exceptionHandling()
.authenticationEntryPoint(restAuthenticationEntryPoint)
.and()
.authorizeRequests()
.antMatchers("/view/**").authenticated()
.antMatchers("/form/**").hasRole("VENUE")
.and()
.formLogin()
.successHandler(customizeAuthenticationSuccessHandler)
.and()
.logout();
}
Я пытался вызвать эту функцию на моей статической html-странице
function applicantLogin() {
let xhr = new XMLHttpRequest();
xhr.open("POST", "http://**********.ap-southeast-2.elasticbeanstalk.com:8080/login", false);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.setRequestHeader('Access-Control-Allow-Origin', 'http://**********.ap-southeast-2.elasticbeanstalk.com');
xhr.withCredentials=true;
xhr.send('username=user&password=userPass');
xhr.onload = function () {
if (xhr.status === 200) {
console.log(xhr.response)
alert('login success');
} else {
alert('login unsuccessful');
}
}
}
, ответ
, и я не могу получить доступ к ресурсамдля этого требуется аутентификация
, но, кажется, все работает нормально, когда я использую почтальон для проверки apis