`

spring-security3 入门篇

阅读更多

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

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



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

3、配置spring-security.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:security="http://www.springframework.org/schema/security"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	   		http://www.springframework.org/schema/beans/spring-beans.xsd
			http://www.springframework.org/schema/security 
			http://www.springframework.org/schema/security/spring-security.xsd">

	<!-- 保护应用程序的所有URL,只有拥有ROLE_USER才可以访问 -->
	<security:http auto-config="true">
		<security:intercept-url pattern="/**" access="ROLE_USER" />
	</security:http>
	
	<!--配置认证管理器,只有用户名为user,密码为user的用户,角色为ROLE_USER可访问指定的资源 -->
	<security:authentication-manager>
		<security:authentication-provider>
			<security:user-service>
				<security:user name="user"  password="user" authorities="ROLE_USER"/>
			</security:user-service>
		</security:authentication-provider>
	</security:authentication-manager>
</beans>

 4.配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<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">
  <display-name>springSecurity</display-name>
	<!--******************************** -->
	<!--*******log4j日志信息的配置****** -->
	<!--******************************* -->
	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>classpath:log4j.xml</param-value>
	</context-param>
	<!--Spring默认刷新Log4j配置文件的间隔,单位为millisecond,可以不设置 -->
	<context-param>
		<param-name>log4jRefreshInterval</param-name>
		<param-value>60000</param-value>
	</context-param>

	<!--******************************** -->
	<!--*******spring bean的配置******** -->
	<!--******************************* -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
	</context-param>
	
	<listener>
		<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
	</listener>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<listener>
		<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
	</listener>
	<!--******************************** -->
	<!--*******字符集 过滤器************ -->
	<!--******************************* -->
	<filter>
		<filter-name>CharacterEncodingFilter</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>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<!--******************************** -->
	<!--*******session的配置************ -->
	<!--******************************* -->
	<session-config>
		<session-timeout>30</session-timeout>
	</session-config>
	
  	<!-- SpringSecurity必须的begin -->
	<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>
	<!-- SpringSecurity必须的end -->
	
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

5.index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>首页</title>
</head>
<body>
	<h1>这里是首页,欢迎你!</h1>
	<% 
		String[] str = session.getValueNames();
		for(int i=0;i<str.length;i++){
			out.println("key=="+str[i]);
			out.println("value=="+session.getAttribute(str[i]));
		}
	%>
</body>
</html>

 

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

 



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

 

 

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

  • 大小: 87.3 KB
  • 大小: 27.1 KB
  • 大小: 83.1 KB
分享到:
评论
1 楼 bingfengfzl 2011-12-21  
兄弟台感想你了,看了你的文章我顿时茅塞顿开

相关推荐

    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