我用的是Spring Security3.1的版本,好像是RC2评估版的,然后下载解压缩发现里面有两个war文件,也就是官网给的Demo,可是照着Demo做,根本不知道它的原理,而且根本不知道怎样把它集成到我自己的应用上来,也不知道怎样使用自己的登录页面去集成它,我使用的Spring3.1的版本,控制层用的是Struts2,持久层用的是Hibernate3,基本的框架都搭好了,我把基本的配置贴给大家看啊。
[color=red]还有一个我想问大侠的就是,用Spring Security方便做那种多用户博客这样的系统吗?[/color]
首先看web.xml的配置:
<?xml version="1.0" encoding="UTF-8"?>
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>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 配置Spring Security -->
<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>
看applicationContext-Security.xml文件的配置:
<?xml version="1.0" encoding="UTF-8"?>
xmlns:beans="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.1.xsd">
<!-- 配置权限 -->
现在我可以实现敲入login.jsp页面跳入首页。然后浏览器上的地址变成spring_security_login
为什么会这样子,我怎样才能通过自己的登录页面实现权限的控制啊,请指教。谢谢
spring_security_login 是springsecurity默认的
你可以在springsecurity的配置页面中自定义登录action
另外springsecurity适用于blog之类的系统
但是说真的springsecurity的学习曲线很高
如果没人带的话,至少要1个月才摸得到门槛