[英]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並加載安全性配置?
從指南:
該偵聽器負責初始化配置。 它應該像:
<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.