`
lanhuidong
  • 浏览: 226251 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SpringSecurity学习1

阅读更多

先建立一个简单的例子:

 

1.引入SpringSecurity相关的jar:spring-security-core、spring-security-config、spring-security-web以及其他相关的jar

 

2.在web.xml中配置filter,其中filter的名称为springSecurityFilterChain,不能改变

<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>

 3.在一个spring的application context文件中进行安全配置

<?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"
	xmlns:context="http://www.springframework.org/schema/context"
	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.0.xsd 
                        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
	<http use-expressions="true">
	    <intercept-url pattern="/login.html" filters="none"/>
	    <intercept-url pattern="/loginfail.html" filters="none"/>
		<intercept-url pattern="/loginsucc.html" access="hasAnyRole('user')" />
		<intercept-url pattern="/resource.html" access="hasAnyRole('admin')" />
		
		<form-login login-page="/login.html" login-processing-url="/login.shtml" 
		    default-target-url="/loginsucc.html" authentication-failure-url="/loginfail.html"/>
		    
		<!-- 配置退出页面 -->
		<logout logout-url="/logout.shtml" logout-success-url="/login.html" />
		<anonymous enabled="false"/>
	</http>
	
	<authentication-manager>
		<authentication-provider>
			<user-service>
				<user name="lan" password="111111" authorities="user" />
			</user-service>
		</authentication-provider>
	</authentication-manager>

</beans:beans>

 
4.登录页面表单,用户名和密码要用j_usernamej_password

<form action="/login.shtml" method="post">
     用户名:<input type="text" name="j_username" id="username" /><br>
     密码:<input type="password" name="j_password" id="password" /><br>
      <input type="submit" value="登录"/>
</form>

5.该例子的效果是login.html和loginfail.html的访问不受限制,有user权限的用户可以访问loginsucc.html,有admin权限的用户可以访问resource.html。如果直接在地址栏输入url访问收保护的资源,将跳转到login.html页面,如果登录成功,跳转到loginsucc.html页面。登入成功后尝试访问resource.html会显示403页面。

分享到:
评论

相关推荐

    springsecurity学习笔记

    在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...

    SpringSecurity学习总结源代码

    1. **Filter Security Interceptor**:这是SpringSecurity的主要过滤器,负责检查请求并决定是否允许访问。它会根据预定义的访问控制规则进行判断。 2. **Authentication Manager**:处理用户认证的组件,可以使用...

    最详细Spring Security学习资料(源码)

    Spring Security是一个功能强大且高度可定制的身份验证和授权框架,专门用于保护Java应用程序的安全性。它构建在Spring Framework基础之上,提供了全面的安全解决方案,包括身份验证、授权、攻击防护等功能。 Spring...

    Spring Security 学习总结1_3

    "springsecurity-namespace"可能指的是Spring Security的XML命名空间配置。在Spring Security的早期版本中,使用XML配置是最常见的实践。例如,你可能会看到以下片段: ```xml **" access="hasRole('ROLE_ADMIN')...

    Spring Security 资料合集

    Spring Security 是一个强大的安全框架,主要用于Java应用的安全管理,它为Web应用和企业级应用提供了全面的...通过学习这些文档,开发者可以更好地理解Spring Security的工作原理,从而更有效地实现应用的安全控制。

    spring security学习资料

    spring security方面的学习资料,包含:Spring+Security+3+与+CAS单点登录配置;Spring+Security3中文教程;Spring-Security安全权限管理手册;Spring+Security文库;还有一个学习笔记!

    SpringSecurity.pdf

    Spring Security的学习过程可以分为入门、进阶和高级三个阶段。入门阶段主要是了解Spring Security的基本概念和配置方法。进阶阶段需要深入学习如何定制认证和授权流程、如何集成各种认证方式以及如何在实际项目中...

    SpringSecurity学习

    首先,Spring_Security-3.0.1_中文官方文档(翻译版).pdf是学习SpringSecurity的重要资源,它包含详细的框架介绍、配置指南和使用示例。这份文档会帮助我们理解SpringSecurity的基础架构,如安全上下文、过滤器链和...

    spring security 完整项目实例

    Spring Security 是一个强大的安全框架,用于为Java应用提供身份验证和授权服务。在这个完整的项目实例中...通过学习和实践这个项目,开发者能够深入理解Spring Security的工作原理,从而更有效地保护自己的Java应用。

    Shiro+Spring Security学习文档

    1. **模块化设计**:Spring Security由多个模块组成,如Core、Web、OAuth2等,每个模块都可以根据项目需求单独使用或组合使用。 2. **过滤器链**:Spring Security基于Servlet Filter实现,通过配置过滤器链,可以...

    spring security 3.1学习资料 及 附件下载

    《Spring Security 3.1 学习指南及资源解析》 Spring Security是Java平台上的一款强大且高度可定制的安全框架,广泛应用于企业级Web应用的安全管理。本篇文章将围绕"Spring Security 3.1"这一主题,深入探讨其核心...

    Spring Security-3中文官方文档(及教程)

    1. **身份验证**:Spring Security提供了多种身份验证机制,如基于内存的用户详情服务、JDBC用户详情服务、自定义身份验证提供者等。它支持用户名/密码、数字证书、智能卡等多种凭证类型。 2. **授权**:Spring ...

    Spring Security OAuth2.0学习笔记.zip

    Spring Security OAuth2.0学习笔记 什么是认证、授权、会话。 Java Servlet为支持http会话做了哪些事儿。 基于session认证机制的运作流程。 基于token认证机制的运作流程。 理解Spring Security的工作原理,Spring ...

    SpringSecurity笔记,编程不良人笔记

    1. **SpringSecurity核心概念** - **Filter Chain**: SpringSecurity通过一系列过滤器实现其安全功能,这些过滤器构成了Filter Chain。每个过滤器负责特定的安全任务,如认证、授权等。 - **Authentication**: ...

    Spring Security学习总结二

    ### Spring Security自定义UserDetailsService详解 #### 一、引言 Spring Security作为Java开发中用于构建安全应用程序的强大框架,提供了丰富的特性和灵活的定制能力。其中,`UserDetailsService`是核心组件之一...

    精彩:Spring Security 演讲PPT

    ### Spring Security 概述与应用实践 #### 一、引言 在当今互联网时代,网络安全问题日益凸显,尤其是Web应用程序的...同时,结合实际案例的学习,能够帮助我们更好地理解和掌握Spring Security的核心概念与使用技巧。

Global site tag (gtag.js) - Google Analytics