`
snoopy7713
  • 浏览: 1149080 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

spring-security3 入门篇

阅读更多

1.下载spring security的最新版本,工程下载的是3.1

2. 新建工程,结构如下:



 其中,涉及到的jar包可以在spring-security包中的例子中获取

3、配置spring-security.xml

Xml代码  收藏代码
  1. <? xml   version = "1.0"   encoding = "UTF-8" ?>   
  2. < beans   xmlns = "http://www.springframework.org/schema/beans"   
  3.     xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"   xmlns:security = "http://www.springframework.org/schema/security"   
  4.     xsi:schemaLocation ="http://www.springframework.org/schema/beans   
  5.             http://www.springframework.org/schema/beans/spring-beans.xsd  
  6.             http://www.springframework.org/schema/security   
  7.             http://www.springframework.org/schema/security/spring-security.xsd">   
  8.   
  9.     <!-- 保护应用程序的所有URL,只有拥有ROLE_USER才可以访问 -->   
  10.     < security:http   auto-config = "true" >   
  11.         < security:intercept-url   pattern = "/**"   access = "ROLE_USER"   />   
  12.     </ security:http >   
  13.       
  14.     <!--配置认证管理器,只有用户名为user,密码为user的用户,角色为ROLE_USER可访问指定的资源 -->   
  15.     < security:authentication-manager >   
  16.         < security:authentication-provider >   
  17.             < security:user-service >   
  18.                 < security:user   name = "user"    password = "user"   authorities = "ROLE_USER" />   
  19.             </ security:user-service >   
  20.         </ security:authentication-provider >   
  21.     </ security:authentication-manager >   
  22. </ beans >   

 4.配置web.xml

Xml代码  收藏代码
  1. <? xml   version = "1.0"   encoding = "UTF-8" ?>   
  2. < web-app   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"   xmlns = "http://java.sun.com/xml/ns/javaee"   xmlns:web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   id = "WebApp_ID"   version = "2.5" >   
  3.   < display-name > springSecurity </ display-name >   
  4.     <!--******************************** -->   
  5.     <!--*******log4j日志信息的配置****** -->   
  6.     <!--******************************* -->   
  7.     < context-param >   
  8.         < param-name > log4jConfigLocation </ param-name >   
  9.         < param-value > classpath:log4j.xml </ param-value >   
  10.     </ context-param >   
  11.     <!--Spring默认刷新Log4j配置文件的间隔,单位为millisecond,可以不设置 -->   
  12.     < context-param >   
  13.         < param-name > log4jRefreshInterval </ param-name >   
  14.         < param-value > 60000 </ param-value >   
  15.     </ context-param >   
  16.   
  17.     <!--******************************** -->   
  18.     <!--*******spring bean的配置******** -->   
  19.     <!--******************************* -->   
  20.     < context-param >   
  21.         < param-name > contextConfigLocation </ param-name >   
  22.         < param-value > classpath:applicationContext.xml </ param-value >   
  23.     </ context-param >   
  24.       
  25.     < listener >   
  26.         < listener-class > org.springframework.web.util.Log4jConfigListener </ listener-class >   
  27.     </ listener >   
  28.     < listener >   
  29.         < listener-class > org.springframework.web.context.ContextLoaderListener </ listener-class >   
  30.     </ listener >   
  31.     < listener >   
  32.         < listener-class > org.springframework.web.util.IntrospectorCleanupListener </ listener-class >   
  33.     </ listener >   
  34.     <!--******************************** -->   
  35.     <!--*******字符集 过滤器************ -->   
  36.     <!--******************************* -->   
  37.     < filter >   
  38.         < filter-name > CharacterEncodingFilter </ filter-name >   
  39.         < filter-class > org.springframework.web.filter.CharacterEncodingFilter </ filter-class >   
  40.         < init-param >   
  41.             < param-name > encoding </ param-name >   
  42.             < param-value > UTF-8 </ param-value >   
  43.         </ init-param >   
  44.         < init-param >   
  45.             < param-name > forceEncoding </ param-name >   
  46.             < param-value > true </ param-value >   
  47.         </ init-param >   
  48.     </ filter >   
  49.     < filter-mapping >   
  50.         < filter-name > CharacterEncodingFilter </ filter-name >   
  51.         < url-pattern > /* </ url-pattern >   
  52.     </ filter-mapping >   
  53.   
  54.     <!--******************************** -->   
  55.     <!--*******session的配置************ -->   
  56.     <!--******************************* -->   
  57.     < session-config >   
  58.         < session-timeout > 30 </ session-timeout >   
  59.     </ session-config >   
  60.       
  61.     <!-- SpringSecurity必须的begin -->   
  62.     < filter >   
  63.         < filter-name > springSecurityFilterChain </ filter-name >   
  64.         < filter-class > org.springframework.web.filter.DelegatingFilterProxy </ filter-class >   
  65.     </ filter >   
  66.     <!-- 拦截所有的请求 -->   
  67.     < filter-mapping >   
  68.         < filter-name > springSecurityFilterChain </ filter-name >   
  69.         < url-pattern > /* </ url-pattern >   
  70.     </ filter-mapping >   
  71.     <!-- SpringSecurity必须的end -->   
  72.       
  73.   < welcome-file-list >   
  74.     < welcome-file > index.jsp </ welcome-file >   
  75.   </ welcome-file-list >   
  76. </ web-app >   

 

5.index.jsp

Html代码  收藏代码
  1. < %@ page  language = "java"   contentType = "text/html; charset=UTF-8"   
  2.     pageEncoding = "UTF-8" % >   
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   
  4. < html >   
  5. < head >   
  6. < meta   http-equiv = "Content-Type"   content = "text/html; charset=UTF-8" >   
  7. < title > 首页 </ title >   
  8. </ head >   
  9. < body >   
  10.     < h1 > 这里是首页,欢迎你! </ h1 >   
  11.     < %   
  12.         String[] str  =  session .getValueNames();  
  13.         for(int i = 0 ;i < str.length ;i++){  
  14.             out.println("key =="+str[i]);  
  15.             out.println("value =="+session.getAttribute(str[i]));  
  16.         }  
  17.     %>   
  18. </ body >   
  19. </ html >   

 

6部署应用,在首次浏览index.jsp时,由于没登录,spring security会自动生成登录页面,页面内容如下:

 



 7输入用户名和密码,user,则进入首页

 

 

 至此,简单的权限控制完成,在index页面中通过session可以看到存入session中的用户信息。

分享到:
评论

相关推荐

    spring-security-examples

    本篇将深入探讨"spring-security-examples"项目,帮助读者理解并掌握Spring Security的核心概念和应用场景。 1. **Spring Security基础** Spring Security 的核心功能包括用户认证、权限授权、访问控制以及安全...

    Spring Security 3.x 入门教程 中文WORD版

    这篇中文入门教程旨在帮助开发者快速理解并掌握Spring Security的基本概念和用法。 首先,Spring Security的核心功能包括身份验证(Authentication)和授权(Authorization)。身份验证涉及到用户登录过程,确认...

    Spring Security3技术手册

    了解如何配置这些过滤器是入门Spring Security的关键。 - **示例代码**: 在`web.xml`中配置`&lt;filter&gt;`和`&lt;filter-mapping&gt;`,定义Spring Security的入口。 - **1.2 使用命名空间** - Spring Security支持在`...

    dbApi-spring-boot-starter-demo:dbApi-spring-boot-starter案例代码

    本篇将深入探讨dbApi-spring-boot-starter的使用,结合提供的"dbApi-spring-boot-starter-demo"案例代码,帮助开发者理解和实践这一工具。 一、dbApi-spring-boot-starter简介 dbApi-spring-boot-starter的核心...

    SpringSecurity-从入门到精通文章的源码文件

    这篇文章的源码文件将引领我们深入理解 Spring Security 的核心概念和实际应用。以下是对这些知识点的详细解析: 1. **Spring Security 框架基础**: - **组件体系**:Spring Security 由一系列组件构成,包括过滤...

    Spring Security 3系列文章——入门篇(一)

    **Spring Security 3 系列文章——入门篇(一)** Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,广泛应用于Java企业级应用和Spring Boot项目中。本篇将作为Spring Security 3的入门介绍,帮助...

    spring security3 开发手册

    Spring Security的入门通常以一个简单的Hello World示例开始,通过这个示例用户可以了解如何配置过滤器,利用命名空间简化配置过程,并且完善整个项目结构。运行示例将帮助用户理解Spring Security的基本工作原理。 ...

    spring-boot-study-base.zip

    本篇内容将围绕"spring-boot-study-base.zip"这个压缩包展开,深入探讨Spring Boot的基础知识,包括框架搭建、核心概念、代码参数学习及实践应用。 一、Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架...

    spring security (-) helloWorld

    总结,"spring security - helloWorld"项目是理解Spring Security入门的绝佳起点。通过这个简单的示例,我们可以了解到Spring Security的基本配置和工作流程,为进一步学习和应用Spring Security打下坚实的基础。在...

    SpringSecurity源码 SpringSecurity jar包 简单的Demo

    在本篇中,我们将深入探讨Spring Security的核心概念、架构和主要组件,以及如何通过简单的Demo来理解和应用这个框架。 首先,让我们了解Spring Security的基本架构。Spring Security的核心设计理念是采用过滤器链...

    Packtpub.Spring.Security.3.May.2010.

    - **入门篇**:介绍 Spring Security 的基本原理和安装配置步骤。 - **核心功能篇**:深入讲解认证、授权、会话管理等关键功能的实现方法。 - **高级话题篇**:探讨如何通过自定义配置和扩展功能来满足更复杂的安全...

    spring-framework-4.2.1.RELEASE官方完整包加官方文档

    通过阅读官方文档,开发者可以了解Spring的完整生态系统,包括Spring Boot、Spring Data、Spring Security等周边项目,进一步提升开发效率。 总结来说,Spring Framework 4.2.1.RELEASE不仅是一个强大的Java应用...

    Spring Security权限管理开发手册

    ### Spring Security权限管理开发手册...本手册全面覆盖了Spring Security在权限管理和Web应用保护方面的各个方面,不仅适合初学者快速入门,也适合有一定经验的开发者深入了解Spring Security的核心技术和高级特性。

    SpringSecurity从小白到大神.md

    ### Spring Security 入门篇详解 #### Spring Security 简介 Spring Security 是 Spring 家族中的一个重要组成部分,专门用于解决应用的安全管理问题。在 Spring Boot 出现之前,Spring Security 已经存在并发展了...

    Spring Security3的使用方法

    本篇文章将深入探讨Spring Security 3的使用方法,帮助你理解并掌握其核心概念。 1. **配置入门** Spring Security 3的配置主要通过XML来完成。首先,你需要在Spring的配置文件中引入Spring Security的命名空间,...

    springsecurity入门代码资源

    hello大家好,这里是X,今天这篇博文带来的是SpringBoot安全管理:SpringSecurity,讲到安全管理,不得不说几乎所有的大型项目开发必备之一,而且有了它,对项目的安全也起到了非常大的效果,可以说是项目搭建的必备...

    Spring boot(一): 入门篇.rar_springboot

    通过阅读 "Spring boot(一): 入门篇.pdf" 和 "Spring boot(二):web综合开发.pdf",你可以深入了解 Spring Boot 的基本概念、快速上手指南以及如何进行 Web 应用的综合开发。这些资料将引导你从初识 Spring Boot 到...

    javaspring的文档.zip

    4. **spring-security3入门教程.doc**:这是Spring Security的入门教程,可能涵盖了基本概念、配置步骤、过滤器链的理解以及如何实现简单的安全控制。 5. **利用SpringAOP管理权限.doc**:Spring AOP(Aspect ...

Global site tag (gtag.js) - Google Analytics