Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Security返回登录页面,尽管存在错误_Java_Spring_Spring Boot_Authentication_Spring Security - Fatal编程技术网

Java Spring Security返回登录页面,尽管存在错误

Java Spring Security返回登录页面,尽管存在错误,java,spring,spring-boot,authentication,spring-security,Java,Spring,Spring Boot,Authentication,Spring Security,我知道有很多这样的问题,但我找不到解决我的问题的答案 这是我的配置: @配置 @启用Web安全性 @所需参数构造函数 公共类SecurityConfig扩展了WebSecurity配置适配器{ @凌驾 受保护的void configureHttpSecurity http引发异常{ http.authorized请求 .antmatchersttpmethod.POST,/.permitAll .anyRequest.authenticated 和 .formLogin permitAll先生

我知道有很多这样的问题,但我找不到解决我的问题的答案

这是我的配置:

@配置 @启用Web安全性 @所需参数构造函数 公共类SecurityConfig扩展了WebSecurity配置适配器{ @凌驾 受保护的void configureHttpSecurity http引发异常{ http.authorized请求 .antmatchersttpmethod.POST,/.permitAll .anyRequest.authenticated 和 .formLogin permitAll先生 和 .logout.permitAll; } } 这是我的端点,我希望用户无需登录即可访问:

@Slf4j @RestController 公共类MyController{ @PostMappingvalue=/,consumes=MediaType.TEXT\u PLAIN\u值 公共无效接受NonymouslyHttpEntity请求实体{ log.debugbody:{},requestEntity.getBody; } } 所以基本上,我想允许对localhost:8080发出未经验证的POST请求。其他一切都应该经过认证。但当我和邮递员一起点击localhost:8080时,我得到的是:
所以,CSRF代表跨站点请求伪造,我相信它在SpringWeb/Security中默认启用。启用后,您需要正确地将正确的csrf令牌传递给您的应用程序,以便访问您的应用程序,否则将抛出403禁止类型错误。或者,如果您愿意,还可以使用其他方法对用户进行身份验证


.csrf.disable

您确定这与Spring Security有关吗?该登录页面似乎不相关,但如果是,则可能是由于.formLogin。此外,我不确定这是否有什么不同,但我总是使用“/**”来验证任何URI的所有请求。我想使用“/**将允许向/test、/test/test/test这样的端点发出POST请求,所以这对我来说是不受欢迎的行为。@user3696953不能100%确定它是否与Spring安全性相关,我才刚刚开始。但在我看来,Spring安全性似乎完全忽略了我的.antmatchersttpmethod.POST、/.permitAll行,因此返回登录页,原因是.anyRequest.authenticated.@user3696953如果我使用.formLogin.disable禁用登录页,403已在邮递员中返回禁止。可能还可以尝试禁用这些其他项目。formLogin.disable.httpBasic.disable.logout.disable.csrf.disable