簡體   English   中英

沒有Spring / Spring MVC的Spring Security Java配置

[英]Spring Security Java configuration without Spring/Spring MVC

在stackoverflow中有一些看起來很相似的問題,但是似乎都沒有一個明確的答案。

我正在將Spring Security添加到不使用Spring或Spring MVC的現有Web應用程序中。 我只需要Spring Security過濾器,就不需要別的(沒有MVC等)。 我的基於XML的配置工作得很好,但是Java配置卻不能。 我主要遵循此指南 由於某種原因,Spring Security過濾器似乎不可用。

因此,安全性配置如下SecurityConfig.java

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication().withUser("user").password("password").roles("USER");
    }
}

還有SecurityWebApplicationInitializer.java

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

上面我在做什么錯? 如何初始化SecurityWebApplicationInitializer並加載安全性配置? 初始化是Servlet上下文加載的一部分嗎-我必須在某處明確定義?

Tomcat 6不支持Servlet API 3+,請參閱Wikipedia

Apache Tomcat的第一個發行版,支持Servlet 2.5,JSP 2.1和EL 2.1規范。

您需要一個帶有Servlet API 3+的容器,請參閱Spring Security Reference

下一步是向springSecurityFilterChain注冊springSecurityFilterChain 可以在Java配置中,在Servlet 3.0+環境中使用Spring的WebApplicationInitializer支持。

您可以使用Tomcat 7(或更高版本),請參閱Wikipedia

Apache Tomcat的第一個發行版,支持Servlet 3.0,JSP 2.2和EL 2.2規范。

如何初始化SecurityWebApplicationInitializer並加載安全性配置?

從指南:

  • 添加一個用於加載WebSecurityConfig的ContextLoaderListener。

該偵聽器負責初始化配置。 它應該像:

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

偵聽器將加載applicationContext.xml,該文件應包含一個組件掃描以查找您的bean,例如:

<beans ...>
     <context:component-scan base-package="your.package.here"/>
</beans>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM