当前位置: 首页 > 知识库问答 >
问题:

如何解决Spring Boot Post请求中的403错误

段干高歌
2023-03-14

我是Spring开机Rest服务的新手。我已经使用maven项目在spring boot中开发了一些rest api。

我已经成功地开发了Get和Post API。我的GET方法在邮递员和移动中工作正常。当我试图从邮递员击中邮政方法,它工作正常,但从移动,它给出403禁止错误。

这是我的配置:

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

请建议我如何解决错误。

共有1个答案

华振
2023-03-14

您必须禁用csrf保护,因为它在spring Security中是默认启用的:在这里您可以看到允许cors起源的代码。

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;
    }

}
 类似资料:
  • 问题内容: 我已经开发了一个PHP网络应用程序。我给用户一个选项,可以一次更新多个问题。这样做时,有时用户会遇到此错误。有什么办法可以增加Apache中URL的长度? 问题答案: 在Apache下,该限制是可配置的值 。如果要支持更长的请求URI,请将此值更改为大于其默认值8190的值。该值在 /etc/apache2/apache2.conf中 。如果不是,请在下添加新行()。 但是,请注意,如

  • 我是反应性编程的新手,我正在使用Spring WebFlux的WebClient向下面的URL发出POST请求,作为Spring Boot应用程序的一部分,将现有的测验分配给候选人。我很难理解我在构造WebClient请求时做错了什么。 终点 quizrequest.java java FlexiQuizClient.java 在我的资源类(控制器)中,我调用web客户端方法,如下所示: 示例响应

  • 每次尝试从数据库中获取用户信息时,我都会收到一个错误。关于我下面的代码,每次我按下Ajax测试按钮尝试请求时,它都无法运行并向我发出警报,但控制台中也会向我发出403禁止的错误。我不确定这是否与Spring security有关? 用户JSP页面: 用户控制器类:

  • 我们希望使用Kafka作为我们的企业服务总线(ESB)。 我知道kafka的大多数用例都是异步用例。 在我们的系统中,是否仍然可以使用kafka在两个endpoint之间进行请求-响应消息传递?

  • 请求的分区: 表分区:类别、状态 hive>描述格式化的sparkhive6;

  • 对localhost的Ajax请求返回403错误。然而,当我更改controller requestMethod以获取并在浏览器上打开请求“url”时,它会显示从服务器返回的json数据。我希望使用这些数据填充一个下拉列表。请帮帮我。我正在使用spring security 4.0和spring MVC框架。CSRF未禁用。此外,该url在Spring得到保护。 我在这里查看了相关问题,但没有找到