读书人

spring中security有根本应用

发布时间: 2012-10-07 17:28:51 作者: rapoo

spring中security有基本应用
本人近来刚学会了一点基本spring-security 的使用,想一想还是可以跟大家分享一下。

Spring Security是基于Spring的的权限认证框架,先给大家看看,applicationContext-security.xml的配置:

<?xml version="1.0" encoding="UTF-8"?><b:beans xmlns="http://www.springframework.org/schema/security"    xmlns:b="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd                        http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">        <http auto-config="true"><!--这里是用来设置默认的登录页面的-->    <form-login login-page="/login.jsp"    authentication-failure-url="/login.jsp/error=true"    default-target-url="/login"    /><!--intercept用于设置拦截器,分配拦截器-->    <intercept-url pattern="/admin.jsp" access="ROLE_ADMIN"/>    <intercept-url pattern="/**" access="ROLE_USER"/>    </http><!--这里设置了两个用户,admin和bob-->    <authentication-manager>    <authentication-provider>      <user-service>        <user name="admin" password="admin" authorities="ROLE_USER,ROLE_ADMIN" />        <user name="bob" password="bob" authorities="ROLE_USER" />      </user-service></authentication-provider>  </authentication-manager>    </b:beans>


而web.xml文件的配置如下:
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">    <context-param>        <param-name>contextConfigLocation</param-name>        <param-value>            classpath:applicationContext-*.xml        </param-value>    </context-param>        <listener>        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>    </listener>    <!--      - Publishes events for session creation and destruction through the application      - context. Optional unless concurrent session control is being used.      -->    <listener>      <listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>    </listener>    <listener>        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>    </listener>    <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></web-app>


通过上面的配置,spring-security权限框架的设置基本可以满足于测试了。要把用户从数据库中取出来进行分配其角色,则需要用java代码通过继承UserDetails和UserDetailsService来进行有效的处理。这还有代码于我在进行更多的测试。

读书人网 >软件架构设计

热点推荐