Я загрузил проект весеннего отдыха в Google App Engine, который я сделал с помощью стандартного проекта App Engine в Maven.Когда я делаю запрос к API, я получаю «Ошибка: Несанкционированный» в качестве ответа.Перед развертыванием я проверил apis на локальном сервере ядра приложений, и они возвращали результаты, как и ожидалось.
Пожалуйста, обратитесь к конфигурации безопасности, как показано ниже:
package com.travelplanner.rest.config;
//COPY
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.User.UserBuilder;
import org.springframework.security.provisioning.JdbcUserDetailsManager;
import org.springframework.security.provisioning.UserDetailsManager;
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private DataSource securityDataSource;
@Bean
public UserDetailsManager userDetailsManager() {
JdbcUserDetailsManager jdbcUserDetailsManager = new JdbcUserDetailsManager();
jdbcUserDetailsManager.setDataSource(securityDataSource);
return jdbcUserDetailsManager;
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.jdbcAuthentication().dataSource(securityDataSource);
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.cors().and().authorizeRequests().antMatchers("/api/users/**").authenticated()
.and().httpBasic().and().csrf().disable().sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
}
Пожалуйста, обратитесь к ответузаголовок, если это полезно:
alt-svc →quic=":443"; ma=2592000; v="44,43,39,35"
cache-control →private
content-encoding →gzip
content-length →163
content-type →text/html;charset=utf-8
date →Fri, 04 Jan 2019 13:16:50 GMT
pragma →no-cache
server →Google Frontend
status →401
strict-transport-security →max-age=31536000 ; includeSubDomains
vary →Accept-Encoding
www-authenticate →Basic realm="Realm"
x-cloud-trace-context →1152278a96141cf513a5830f6dcf4f92;o=1
У меня базовая безопасность при установке Spring, и даже когда я делаю запрос с правильными учетными данными, я получаю вышеуказанную ошибку.
Api: https://exoticatravels -1543931266259.appspot.com / api / users / travel-plan / 1
Пользователь: xlz@wwe.com pass: thepass
Пожалуйста, помогите!Заранее спасибо.