欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SSH项目中加入spring security(一)

程序员文章站 2022-04-25 13:40:51
...

    很久没有写过博客了,最近项目中需要加入spring security安全管理,网上找了一些文章,但是都跟我的实际情况有些不同,写下来做个记录,也供以后大家学习用。

    1.下载最新框架包
    下载spring security 3.1.4

    下载struts 2.3.15.1

    下载spring 3.2.2

         前几天struts2刚报出两个很大的漏洞,阿里和腾讯等众多大公司都受到影响,所以此次顺便升级下struts2。

         目前spring security最近GA版是3.1.4,它需要spring3.0以上的支持,所以索性将spring 升级到最新版,当前最新版应该是spring 3.2.3,但是下载的时候出了些问题,所以我更新到了spring 3.2.2,更新参考文档:http://cgs1999.iteye.com/blog/1602673,这篇文档写的相当详细,升级过程不再赘述.

        SSH相关框架升级成功后,继续进入正题,往项目中加入spring security。
        2. 
将必要的jar包加入已有项目中

    SSH项目中加入spring security(一)
            
    
    博客分类: javaspring spring security 3权限控制安全管理

      3. 加入简单配置

    web.xml
         

	<!--这里必须注意一下,就是spring security 钩子,大家都叫钩子,我也就这么叫了!就是监听拦截你请求的,这个呢必须要放到struts 拦截监听的前面!否则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"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
    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">

 
  	<http auto-config='true'>
        <intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" />
        <intercept-url pattern="/**" access="ROLE_USER" />
    </http>
  		
 	<authentication-manager>
    	<authentication-provider>
	      	<user-service>
	        	<user name="admin" password="admin" authorities="ROLE_USER, ROLE_ADMIN" />
	        	<user name="sozhike" password="111111" authorities="ROLE_USER" />
	      	</user-service>
    	</authentication-provider>
  	</authentication-manager>
 
</beans:beans>

 具体的这个文档的解释我就不写了,上面这个是最基本的例子。只是给出权限控制的说明:

用户admin/admin 有访问index.jsp+admin.jsp的权限

用户sozhike/111111 有访问index.jsp的权限,不能访问admin.jsp


    4.在WebRoot目录下加入admin.jsp和index.jsp

    这两个jsp只是做登录时返回用,是为了验证用户admin和sozhike是否加入了权限控制,内容自己随便加点好了

 

    5.启动项目,查看结果

    你是不是在诧异,为什么没有写登录页面?你是不是自己动手开始写了?亲,这个步骤没错哦,你没眼花,我也没少写一个页面,现在我们确实不需要login页面,因为spring security提供了测试用的Login页面,这样是为了我们不会出错,我们现在就用spring security集成的登录页面好了

 

    6.结果

       访问 http://localhost:8080/project_name 

    出来页面:

    SSH项目中加入spring security(一)
            
    
    博客分类: javaspring spring security 3权限控制安全管理

   好了,输入上面文件中的用户名/密码,自己测试测试吧

 

   到这里,简单的整合SSH的spring security就成功了,更深一点的应用,请关注下一期
 

原创文章,转载请标明出处(http://sunliyings17.iteye.com/blog/1914951),谢谢

 

 

  • SSH项目中加入spring security(一)
            
    
    博客分类: javaspring spring security 3权限控制安全管理
  • 大小: 16.7 KB
  • SSH项目中加入spring security(一)
            
    
    博客分类: javaspring spring security 3权限控制安全管理
  • 大小: 10.6 KB