Je suis novice dans les services de repos de démarrage du printemps. J'ai développé quelques api de repos dans les bottes de printemps en utilisant le projet Maven.
J'ai développé avec succès Get et Post Api. Ma [~ # ~] get [~ # ~] Méthode fonctionne correctement dans postman et mobile. lorsque j'essaie d'appuyer sur la méthode post de postman pour qu'il fonctionne correctement mais que sur mobile, il génère une erreur 403 interdite.
Ceci est ma configuration:
spring.datasource.url = jdbc:mysql://localhost/sampledb?useSSL=false
spring.datasource.username = te
spring.datasource.password = test
spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.MySQL5InnoDBDialect
Hibernate ddl auto (create, create-drop, validate, update)
spring.jpa.hibernate.ddl-auto = update
S'il vous plaît me suggérer comment résoudre l'erreur.
vous devez désactiver la protection csrf car elle est activée par défaut dans la sécurité de printemps: vous pouvez voir ici le code qui autorise cors Origin.
import org.springframework.context.annotation.Bean;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.CorsConfigurationSource;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
@Override
protected void configure(HttpSecurity http) throws Exception{
http.cors().and().csrf().disable();
}
@Bean
CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
configuration.setAllowedOrigins(Arrays.asList("*"));
configuration.setAllowedMethods(Arrays.asList("*"));
configuration.setAllowedHeaders(Arrays.asList("*"));
configuration.setAllowCredentials(true);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return source;
}
}
Causes possibles: