- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在测试具有 POST 映射的 Controller 。这是摘录:
@RequestMapping(path = "/bookForm", method = POST)
public String saveBook(@Valid @ModelAttribute(name = "book") BookCommand bookCommand,
BindingResult bindingResult) {
// blah blah
return "redirect:/books";
}
我正在玩 Spring 安全性,所以我写了一个测试,我希望我的一些 GET
映射会被未经授权的用户拒绝,但对于这个 POST 方法,我想允许所有。
这是一个测试配置类:
@Configuration
public class SecurityTestConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/books/**").authenticated()
.antMatchers(HttpMethod.POST, "/bookForm").permitAll()
.and()
.httpBasic();
}
}
问题是,mockMvc
仍然会为 POST 调用返回 4xx。这是为什么?
@RunWith(SpringRunner.class)
@WebMvcTest(controllers = BookController.class)
@Import(SecurityTestConfig.class)
public class BookControllerIT {
@Autowired
private MockMvc mockMvc;
// ... mocks ect
@Test // <- this is ok
public void shouldNotAllowBookUpdate() throws Exception {
mockMvc.perform(get("/books/1/update")).andExpect(status().is4xxClientError());
}
@Test // <- this fails
public void shouldAllowFormHandling() throws Exception {
mockMvc.perform(post("/bookForm")).andExpect(status().isOk());
}
}
最佳答案
您应该只使用一个映射注解@PostMapping(value="...") 或@RequestMapping(value="...",method=POST)
。同时在 TestConfig
http
.csrf().disable()
.authorizeRequests()
.antMatchers(HttpMethod.POST,"/bookFrom").permitAll()
.anyRequest().authenticated();
关于spring - 为什么 @WebMvcTest 中的 POST 请求使用 permitAll() 返回 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56179875/
框架(spring + jpa + ejb3 + hiberrnate + jboss5 + jaas) 我想知道,EJB3 上的方法是否具有 @PermitAll(javax.annotation.
我正在使用 spring security oauth2 实现授权。我有单独的授权服务器和资源服务器。 资源服务器代码: OauthResourceServerConfig.java import o
我确实有一个旧应用程序无法在 Android 4.1 设备上运行。跳入此处的是 NetworkOnMainThreadException。 所以我尝试通过以下步骤允许这样做 - 但这些都不起作用。我用
我的 Repository 中有以下示例方法(带有 @RepositoryRestResource 注释): @Override @PreAuthorize("permitAll") @PostAut
我知道有这个问题的主题,但我所做的配置是正确的,我将它与它正常工作的项目进行了比较。我想“解除”JWT 安全性的/login 端点,但 AuthenticationFilter 仍然在到达/login
我正在使用 spring-security-oauth2-provider:3.0.0-RC2 和 Grails 3.2.1。所有资源端点都以 /api 开头,使用 "/api/$controller
我只想允许未经身份验证的人访问几个路径:/everyone1/something1、/everyone2/something2 和/everyone3/**。对于其余路径,我希望只允许经过身份验证的请
我正在尝试向我的应用程序添加一个不安全的 Controller 端点 /foo/bar,但每当我尝试调用它时,我都会收到 401 Unauthorized。 这是我的 WebSecurityConfi
值得一提:我正在学习关于 Securing GWT apps with Spring Security 的教程. 我不明白这个。我似乎无法获得 permitAll按照我的需要工作。 这是我当前的配置:
我有一个方法,我想同时允许匿名和经过身份验证的访问。 我正在使用 Spring Security 3.2.4 和基于 Java 的配置。 覆盖的配置方法(在我的扩展 WebSecurityConfig
我有两条规则,第一条来自 oauth/** 的每个 url 都应该没有安全性,而其他 url 必须有安全性。但是现在所有 url 都是安全的,包括来自 oauth/** 的 url。这是我的安全配置规
我有这个安全配置: @Override public void configure(HttpSecurity http) throws Exception { http
使用 Dropwizard 0.9.1,我创建了一个自定义 AuthFilter 来检查 session cookie,如下所示: Priority(Priorities.AUTHENTICATION
我使用 spring-security 和 spring-security-oauth2 (JWT 访问 token )进行身份验证和授权。其想法是让所有请求通过,但能够区分经过身份验证的用户和未经身
我收到以下错误... Unsupported configuration attributes: [permitAll] 添加时 .... 我在使用 Spring 2.5 的 Websphere。
这是 Spring Security 宠物诊所示例的一部分: access="permitAll"和 filters="none"有什么区别? 网
当我 POST 到 /api/v1/auth/register 时,我收到由配置的 accessDeniedHandler 生成的 403 响应。但是,我希望这个请求能够被允许,因为它包含在 perm
我有 spring-security 来保护我的应用程序中的某些路径,并让其他路径开放以供匿名访问。我遇到的问题与我将访问权限保留为“permitAll”的开放部分有关。我只想保护某些路径不被非管理员
这个问题已经有答案了: How to disable spring security for particular url (7 个回答) 已关闭 5 年前。 我使用 spring-boot 和集成的
我有很多 API 端点需要经过身份验证的请求,还有一些允许任何请求。我希望 Spring Security 默认阻止匿名请求,但让我覆盖它: aHttpSecurity.authorizeReques
我是一名优秀的程序员,十分优秀!