SpringSecurity3.1入门教程(一)

原创 2015年11月20日 23:07:28

PS:此教程使用的是SpringSecurity的默认过滤器,需严格按照默认过滤器的配置来

1.部署描述符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"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_ID" version="3.0">
	<listener>
	    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<context-param>
	    <param-name>contextConfigLocation</param-name>
	    <param-value>classpath:/resources/spring-security.xml</param-value>
	</context-param>
	<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>
</web-app>

注意:这里<filter-name>springSecurityFilterChain</filter-name>不可以更改,采用默认过滤器必须使用该名称,要不然会报错提示找不到你自定义的名字的Bean名称

2.核心配置文件

<?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.1.xsd
           http://www.springframework.org/schema/security
           http://www.springframework.org/schema/security/spring-security-3.1.xsd">

	<!-- 对登录页面不过滤,任何用户都可以访问,否则会进入死循环 -->
    <http pattern="/login.jsp" security="none"/>
    <!-- 验证失败或者权限验证不通过跳转的页面 -->
    <http access-denied-page="/deny.jsp" >
    	<form-login login-page="/login.jsp"/>
	<!-- 访问/admin.jsp资源的用户必须具有ROLE_ADMIN的权限 -->
    	<intercept-url pattern="/admin.jsp" access="ROLE_ADMIN"/>
	<!-- 访问/**资源的用户必须具有ROLE_USER的权限 -->
        <intercept-url pattern="/**" access="ROLE_USER"/>
        <!-- 会话管理,可选项 -->
        <session-management>
        	<concurrency-control max-sessions="1" error-if-maximum-exceeded="false"/>
        </session-management>
    </http>
    <!-- 认证管理器,这里通过硬编码(xml配置文件)配置用户信息 -->
    <authentication-manager>
        <authentication-provider>
        	<user-service>
        		<user name="tt" password="tt" authorities="ROLE_USER"/>
        		<user name="admin" password="admin" authorities="ROLE_ADMIN"/>
        		<user name="all" password="all" authorities="ROLE_USER,ROLE_ADMIN"/>
        	</user-service>
        </authentication-provider>
    </authentication-manager>
</beans:beans>

3.登录页面

<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录</title>
</head>
<body>
<form action="j_spring_security_check" method="POST">
<table>
	<tr>
		<td>用户:</td>
		<td><input type='text' name='j_username'></td>
	</tr>
	<tr>
		<td>密码:</td>
		<td><input type='password' name='j_password'></td>
	</tr>
	<tr>
	        <td><input name="submit" type="submit"></td>
		<td><input name="reset" type="reset"></td>
	</tr>
</table>
</form>
</body>
</html>
注意:

1.<form action="j_spring_security_check" method="POST">action名称一般不可更改,除非你修改springsecurity源码

2.<input type='password' name='j_password'>,<input type='text' name='j_username'>;j_password和j_username也一般不可更改,因为这个例子引用的是默认的过滤器,在后面使用自定义过滤器,认真管理器,授权管理器的时候就可以自定义了

4.其他页面

其他页面就不写出来了,没啥一下影响。

5.本文完整例子下载地址及相应帮助文档下载地址如下:

(1).springsecurity3.x开发手册.pdf

http://download.csdn.net/detail/u012557538/9287455

(2)本文项目实例:

http://download.csdn.net/detail/u012557538/9287445

(3)官方中文帮助手册
http://download.csdn.net/detail/u012557538/9287473



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

SpringSecurity3.1入门教程(二)

这篇文章主要讲解了Security的常用概念和工作流程,理清这些概念对学习SS是一个很大的帮助...

SpringSecurity3.1入门教程(四)

一.前言 前面三篇介绍了security,磨刀不误砍柴工,现在就开始上代码吧。本文的项目demo地址可以在文章尾部看到。 二.DEMO 1.web.xml ...

SpringSecurity3.1入门教程(三)

本文介绍了常用功能的配置,虽然没有权限手册讲解的这么详细,但是对初学者来说能够使其快速入门...

Python3.1-Numpy模块之入门教程

这系列用来介绍Python的标准库的支持Numpy部分。

Android基础入门教程——3.1 基于监听的事件处理机制

Android基础入门教程——3.1.1 基于监听的事件处理机制标签(空格分隔): Android基础入门教程本节引言: 第二章我们学习的是Android的UI控件,我们可以利用这些控件构成一个精...

springsecurity权限控制系列教程:1 入门

springsecurity的执行过程,无非就是拦截器的执行流程,网上有很多资料可供学习。新手学习后实际去做权限控制时,感觉对springsecurity的理解还是雾里看花,如何快速学透权限控制?看完...

SpringSecurity3.1实际摸索总结

  • 2013年05月08日 15:02
  • 593KB
  • 下载

PHP3.1快速入门系列教程

  • 2014年03月24日 13:51
  • 1.13MB
  • 下载

编译原理学习周入门教程--(1)什么是编译程序?

在软考中些许的接触了编译原理这门课程,只是为了应付考试,就会那点可能考到的东西。这次编译原理老师认真负责的讲解了为期三个月的编译原理,据说是手把手教学,额,可惜我没有怎么去上课,,,自己查找资料自学了...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SpringSecurity3.1入门教程(一)
举报原因:
原因补充:

(最多只允许输入30个字)