首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到SecurityMockMvcConfigurers

找不到SecurityMockMvcConfigurers
EN

Stack Overflow用户
提问于 2016-04-24 23:14:30
回答 3查看 9.7K关注 0票数 21

我正在尝试编写一个spring安全测试,就像这里所描述的http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#test-mockmvc-setup。我需要将SecurityMockMvcConfigurers作为静态导入导入,但是我的集成开发环境找不到该类。

我的pom.xml如下所示:

代码语言:javascript
复制
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.0.M2</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

Spring Boot 1.4.0.M2导入Spring Security 4.0.4.RELEASE。我在这个版本中找不到这个类。我需要哪些额外的依赖项?或者我还有什么没考虑到的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-04-25 01:08:51

缺少的依赖项为:

代码语言:javascript
复制
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-test</artifactId>
    <version>4.0.4.RELEASE</version>
</dependency>
票数 40
EN

Stack Overflow用户

发布于 2017-12-10 04:42:03

org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers类所需的依赖项是org.springframework.security:spring-security-test依赖项。

问题被标记为Spring Boot,Spring Boot在spring-boot-starter-parent pom中将依赖项作为托管依赖项提供。

你的pom很可能继承自spring-boot-starter-parent

因此,最重要的是,不要在没有很好的理由的情况下指定版本,只使用从父级继承的版本。

这就足够了:

代码语言:javascript
复制
<dependencies> 
     ...
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-test</artifactId>
        <scope>test</scope>         
    </dependency>
     ...
<dependencies> 

例如,对于Spring Boot 2.0.0.M5,托管版本为

代码语言:javascript
复制
  <dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-test</artifactId>
    <version>5.0.0.M5</version>
  </dependency>

M5不仅仅是偶然的。

这些都是为了更好地协同工作而设计的。

请注意,org.springframework.boot:spring-boot-starter-test依赖项不会拉出spring-security-test依赖项。

如果您不使用Spring Boot,您应该努力指定一个与应用程序使用的Core Spring版本一致的spring-security-test版本。

票数 2
EN

Stack Overflow用户

发布于 2016-04-25 00:01:23

类SecurityMockMvcConfigurers包含在

代码语言:javascript
复制
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<version>4.2.1.RELEASE</version>
</dependency>

在其他版本中,SecurityMockMvcConfigurers可能不存在。

然而,有一个类MockMvcConfigurer,也许你可以用它来代替?

关于:但此依赖项不包含相应的类。

是的,你是对的,这个类没有包含在jar中。所以我认为你必须利用那里的东西。无论如何,这个类非常简单,源代码在这里:SecurityMockMvcConfigurers

只需将代码复制到您自己的类中,就完成了。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36824973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档