spring中security有根本应用
spring中security有基本应用
本人近来刚学会了一点基本spring-security 的使用,想一想还是可以跟大家分享一下。
Spring Security是基于Spring的的权限认证框架,先给大家看看,applicationContext-security.xml的配置:
而web.xml文件的配置如下:
通过上面的配置,spring-security权限框架的设置基本可以满足于测试了。要把用户从数据库中取出来进行分配其角色,则需要用java代码通过继承UserDetails和UserDetailsService来进行有效的处理。这还有代码于我在进行更多的测试。
本人近来刚学会了一点基本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来进行有效的处理。这还有代码于我在进行更多的测试。