【问题标题】:Spring Security Sample - Works without application contextSpring Security Sample - 在没有应用程序上下文的情况下工作
【发布时间】:2016-09-27 09:50:04
【问题描述】:

我是 Spring 新手并检查了 Spring Security。在 Spring 网站上有指向 HelloWorld Spring 项目的链接。该项目可以通过 Maven 导入并在 Eclipse 开发环境中运行。这个项目的有趣之处在于没有定义 spring 配置的 web.xml 或 context.xml。

该项目包含两个类和一个 index.jsp 文件。

@EnableWebSecurity
public class SecurityConfig {
// @formatter:off
    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws      Exception {`enter code here`
        auth
            .inMemoryAuthentication()
                .withUser("user").password("password").roles("USER");
    }
    // @formatter:on
}

一个是配置类,另一个是初始化类。

public class SecurityWebApplicationInitializer extends
        AbstractSecurityWebApplicationInitializer {

    public SecurityWebApplicationInitializer() {
        super(SecurityConfig.class);
    }
}

我评论了 @EnableWebSecurity 并删除了注释并假设 Spring Security 将被禁用,但没有。当我执行时,它正在寻找未在任何地方实现的过滤器链。

怎么会发生这种事。我什至尝试过清理服务器工作目录等,但还是一样。

知道这个简单的项目是如何运行的吗?

【问题讨论】:

    标签: java spring maven spring-mvc spring-security


    【解决方案1】:

    如果您使用的是 Spring Boot,如果 spring-boot-starter-security 在类路径上,它会自动配置 web 安全性。 请参考:

    https://spring.io/guides/gs/securing-web/#initial

    Spring web security: is @EnableWebSecurity obsolete?

    【讨论】:

    • 感谢您的回复。 POM 中没有 Spring Boot 依赖项,因此该应用程序不是 Spring Boot 应用程序。这是一件奇怪的事情,我不明白 Spring 相关设置在哪里维护。
    猜你喜欢
    • 2016-02-22
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 2011-09-16
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多