`
startfromheart
  • 浏览: 45308 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring Security 学习系列(2) - Spring Security 配置

    博客分类:
  • Java
 
阅读更多

以下是一段巨简单的web.xml的配置

 

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
	<display-name>Demo</display-name>
</web-app>

 

若是想在你的系统里面用上Spring, 你会在web.xml里面添上一个context loader listener, 从而使得Servlet容器启动时将Spring环境启动并绑定到了Servlet 上下文环境。添加了该listener之后的web.xml配置如下:

 

 

 

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
	<display-name>Demo</display-name>
	
<!-- - Loads the root application context of this web app at startup. -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

</web-app>

 

这样配置好后呢, 在Servlet下下文绑定一个空的Spring 环境。为什么是空的Spring环境呢, 因为这里面没有定义一个Spring Bean声明文件,这样绑定的Spring环境就只能是空的了。

 

所以还得再加一个contextConfigLocation的声明, 表示web应用启动时, Spring 环境绑定到了Servlet 上下文环境, 并且, Spring环境中的Bean声明, 来自classpath:core-config.xml

 

 

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
	<display-name>Demo</display-name>

	<!-- - Location of the XML file that defines the root application context 
		- Applied by ContextLoaderListener. -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath:core-config.xml
		</param-value>
	</context-param>


	<!-- - Loads the root application context of this web app at startup. -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

</web-app>

 

其实以上的这些都只是把web应用的Spring环境配置了一把, 我们至今还没有看到Spring Security的影子。

 

 

Spring Security 的配置跟它的定义一样, 我们只需要web.xml里面配置一个Filter就可以了。 当然, 最好是把security的配置放置到另一个配置文件, 所以也请注意一下下面的web.xml里面已经配置了两个配置文件了。

 

 

 

 

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
	<display-name>Demo</display-name>

	<!-- - Location of the XML file that defines the root application context 
		- Applied by ContextLoaderListener. -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath:core-config.xml
			classpath:security-config.xml
		</param-value>
	</context-param>

	<filter>
		<filter-name>springSecurityFilterChain</filter-name>
		<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>springSecurityFilterChain</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>


	<!-- - Loads the root application context of this web app at startup. -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

</web-app>
 

 

整个Spring Security 的环境就配置完成, 接下来我们要讲的是core-config.xml和security-config.xml具体需要添些什么内容。

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics