- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚将 spring-boot-starter-security
和 spring-security-test
添加到我的 Spring Boot 应用程序中。我想保护 Controller 和方法。
现在我所有的 Controller 测试 (@WebMvcTest
) 都失败了。似乎所有 GET 方法都会失败并返回 401,所有 POST/DELETE/PUT 都会失败并返回 403。
我可以使用 @WithMockUser
轻松修复 401。
重新运行所有测试的最简单方法是什么?我不想在这些测试中考虑安全性。稍后我想添加特定的安全测试。
最佳答案
Spring Security 会自动为每个 POST、DELETE 和 PUT 请求添加 CSRF 防御,因此这就是您看到 403 的原因。
您可以disable CSRF protection ,尽管这是一个重要的防御机制,因此通常不建议禁用。 Spring Security 在其引用文档中提供了一些有关如何确定 when CSRF protection is necessary 的信息。 .
相反,您可以使用 Spring Security add in a test CSRF token to your tests通过配置 Mock Mvc 实例:
this.mockMvc.perform(post("/").with(csrf()))
其中csrf()
来自SecurityMockMvcRequestPostProcessors
。
请注意,您的测试失败的原因与 POST 等在您的应用程序中失败的原因相同 - 它们也将是 expecting a CSRF token as part of the request .
关于java - 添加 Spring Security 后 WebMVC 测试失败,如何一次性修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57496406/
我正在寻找一种在 spring webmvc 中拦截传入的 http 请求和响应的方法。我需要重写整个请求和响应。 具体来说,我需要接收一个请求,提取请求主体并处理请求主体,就好像它是一个全新的请求一
如何仅通过注释来配置拦截器(我不喜欢在 .XML 文件中注册拦截器,我不使用基于 .XML 的配置)? 注意:我在互联网上的示例中看到建议使用org.springframework.web.servl
我有一个关于 Spring Webmvc 的小问题。我正在尝试使用 Restful 网络服务制作网络应用程序,但我不知道它是否正常工作。 我有一个包含此类的 maven-webapp 项目: ...
我们升级到spring-webmvc 5.2.3.RELEASE。 这会导致 JUnit 失败。 我认为问题出在 .build() 方法上 - 找不到它。 代码: @RunWith(MockitoJU
这是一个交叉帖子。我也在 Spring 论坛上发布了同样的问题。 http://forum.springsource.org/showthread.php?128579-Database-driven
我有一个 WebMVC 端点: @RequestMapping(path = "/execution/{id}", method = RequestMethod.POST) public Respon
我想做的是从数据库表/Hibernate JPA 实体创建一个完整的 Spring WebMVC CRUD API,并将其添加到现有的 Maven Web 项目中。准确地说,我想要生成的内容: Spr
更新 我的问题是如何在 spring boot 中初始化一个隔离的 spring webmvc web-app。隔离的 Web 应用程序应该: 不应在应用程序类中自行初始化。我们想通过自动配置在 st
我有一个简单的(示例)Web 应用程序,如果我尝试链接多个 View 解析器,我会遇到问题。当我的应用程序按照下面描述的方式配置时,尝试访问 http://localhost:8080/Library
我正在尝试拦截带注释的 Spring Controller 调用,类似于: @RequestMapping("/my/page") @AccessRestriction(module = Module
我搜索了很多,但没有找到我的问题的答案,所以我在这里发布我的问题。请查看并建议我错误的解决方案。 我使用 Spring Tool Suite (STS) 创建了带有 thymeleaf 支持的 spr
我正在开发一个 Spring Boot MVC 应用程序,它具有一定数量的 Controller 。我的根 Controller 是: @Controller @RequestMapping("/")
使用spring-ws创建基于SOAP的应用程序。但是如果我添加以下依赖项(从 spring-boot 教程 https://spring.io/guides/gs/producing-web-ser
我正在使用 spring-boot-starter-web 将嵌入式网络服务器添加到现有应用程序。 问题:启动期间 servletContext 始终为 null。 我正在使用 Configurabl
我在 Netbeans 中有一个 Maven Web 项目。这些是 pom.xml 中的依赖项 javax javaee-web-api 7
我刚刚将 spring-boot-starter-security 和 spring-security-test 添加到我的 Spring Boot 应用程序中。我想保护 Controller 和方法
我有一个基于 maven 的 Spring 3.0 项目。 Web 应用程序的 Spring 配置文件位于 //src/main/webapp/WEB-INF/spring/webmvc-config
我试图将我的 spring webmvc proyect 的模板文件夹外部化,我需要这个功能,因为设计师想要经常修改 html。而且他很难在 war 文件中进行编辑。我使用 thymeleaf 作为
以下依赖有什么区别? org.springframework spring-webmvc 3.1.2.RELEASE 对 org.springframework
考虑到以下代码是最新版本的 SpringBoot 应用程序的一部分,在某些项目中,测试结果是无法启动应用程序,因为它未能将 ErrorMessages 注入(inject) ControllerAdv
我是一名优秀的程序员,十分优秀!