`

SSH项目中加入spring security(一)

阅读更多

    很久没有写过博客了,最近项目中需要加入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包加入已有项目中

    

      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就成功了,更深一点的应用,请关注下一期
 

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

 

 

  • 大小: 16.7 KB
  • 大小: 10.6 KB
2
3
分享到:
评论

相关推荐

    ssh项目添加spring Security

    在这个项目中,我们将探讨如何将Spring Security集成到SSH项目中,实现基于数据库验证的用户授权登录功能。 首先,Spring Security是Spring生态体系中的一个核心组件,主要用于提供认证和授权服务,确保Web应用的...

    maven-ssh-spring security

    【标题】"maven-ssh-spring security" 涉及到的是在Java开发中使用Maven构建的一个集成Spring Security的SSH(Struts2、Spring、Hibernate)项目。SSH是Java Web开发中常见的三大框架,而Spring Security则是一个...

    spring Security整合SSH

    在本项目中,我们将探讨如何将Spring Security与SSH(Struts2、Spring、Hibernate)框架整合,以实现一个完整的基于数据库的用户认证和授权系统。 SSH是Java开发中常用的三大框架组合,它们各自负责不同的职责:...

    SSH + Spring Security3.2例子

    SSH + Spring Security3.2例子

    SSH集成Spring+hibernate+security 用户管理

    以上就是关于"SSH集成Spring+hibernate+security 用户管理"项目的主要知识点,涵盖了Spring框架的依赖注入、Hibernate的ORM、Spring Security的权限控制,以及如何在实际项目中综合运用这些技术。这样的系统设计有助...

    ssh整合spring Security

    SSH整合Spring Security是Java开发中常见的一种安全框架集成方式,主要应用于Web应用程序的安全管理。SSH分别代表了Spring、Struts2和Hibernate这三个开源框架。Spring是应用的基础框架,提供了依赖注入(DI)和面向...

    SSH+Spring Security+MySQL

    在实际项目中,SSH+Spring Security+MySQL的集成可能涉及以下步骤: 1. 配置Struts2和Spring Security的拦截器,确保请求被正确地路由和过滤。 2. 设计并实现用户实体类、角色实体类以及它们之间的关联,使用...

    Spring集成SpringSecurity依赖包

    标题中提到的"Spring集成SpringSecurity依赖包"应该包含了这些必要的依赖,包括Spring Security本身和可能的Spring MVC依赖。 2. **配置Spring Security**:创建一个配置类,继承自`WebSecurityConfigurerAdapter`...

    ssh+security实现权限管理

    在"ssh+security"的组合中,SSH可能指的是服务器端的身份验证和加密通信,而Spring Security则负责应用层的权限管理和访问控制。这种结合可以构建一个强大的权限管理系统,不仅保护了网络通信的安全,还确保了用户对...

    spring security项目示例下载

    spring security配置项目下载,里面前台使用了easyui。 我的项目是用maven搭建的,如果你配置了maven,那么就会可以很轻松的运行起项目来了, 步骤: 1、在我的项目下找到database文件夹,把里面的union_ssh.sql文件...

    使用spring security保护ssh项目http资源

    此资源是对spring security使用数据库存储资源、角色、用户信息来保护http资源的实现的具体实现。可以参阅下文。 http://blog.csdn.net/shierqu/article/details/48803555 ...

    Spring Security 文档

    在第一种方法中,Spring Security的示例项目`spring-security-samples-tutorial-3.0.2.RELEASE`提供了硬编码配置的参考,它演示了如何在XML配置文件中定义用户、密码和权限。这种方法适合初学者快速了解Spring ...

    Spring Security 源码

    Spring Security 是一个强大的和高度可定制的身份验证和访问控制...同时,标签中的"ssh3源码"可能是指Spring Security的旧版本,但现代版本已经更新到Spring Security 5.x,所以要确保查阅的是最新版本的文档和源码。

    SpringSecurity 2 权限基于数据库--完整DEMO(带数据库文件)

    通过这个DEMO,你可以深入理解SpringSecurity如何在实际项目中与SSH框架协同工作,实现基于数据库的权限控制。它不仅提供了代码示例,还包含了完整的数据库结构,对于初学者和经验丰富的开发者来说,都是一个极好的...

    简单银行系统(webservice,springsecurity,ssh,ant,axis,ftl)

    【标题】"简单银行系统(webservice,springsecurity,ssh,ant,axis,ftl)" 提供的是一个基于多个核心技术构建的银行系统实例。这个项目涵盖了Web服务、安全框架、Java开发工具链以及模板引擎等多个方面的内容,对于学习...

    ssh+spring security(noe4j,fastds)

    标题中的“ssh+spring security(noe4j,fastds)”提到了几个关键的IT技术,它们分别是SSH(Struts、Spring、Hibernate)、Spring Security、Noe4j和FastDS。让我们逐一深入理解这些技术及其相互关系。 SSH是Java开发...

    移动ssh项目struts+spring+hibernate+oracle

    综上所述,"移动ssh项目struts+spring+hibernate+oracle"是一个包含多个关键技术点的实际项目,涵盖了Java Web开发的前端控制器、业务层管理和数据持久化等核心环节,以及关系型数据库的使用和管理。通过学习和实践...

    oauth2-client-springsecurity5.zip

    总之,“oauth2-client-springsecurity5.zip”项目提供了一个实战案例,演示了如何在Spring Boot应用中集成OAuth2客户端和Spring Security 5,使开发者能够安全、高效地处理用户授权。通过阅读和运行这个示例,你将...

    spring-security-3.0.5.RELEASE

    在Spring Security 3.0.5.RELEASE版本中,我们看到了一系列稳定且强大的安全特性,这些特性对于开发人员构建安全的SSH(Spring、Struts和Hibernate)应用程序至关重要。 一、Spring Security基础 1. **认证机制**...

    springsecurity3.1.3 案例

    Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于Java应用程序。在这个"Spring Security 3.1.3案例"中,我们将探讨这个版本的一些核心概念和特性,以及如何利用它们来保护你的应用程序。 ...

Global site tag (gtag.js) - Google Analytics