`
ithoney
  • 浏览: 4064 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring Security (一)

阅读更多
最近学习了一系列关于Spring security安全框架,不知道在项目中使用的多不多?
jar在官网下载:最新Spring Security 3.2.0.M2地址:http://www.springsource.org/download/community
一下用的是静态数据,没有连接数据库
web.xml配置:
<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>

Spring.xml配置:
<security:http auto-config="true" access-denied-page="/403.jsp">
		<!-- login-page:默认指定的登录页面. authentication-failure-url:出错后跳转页面. default-target-url:成功登陆后跳转页面 -->   
    	<security:form-login login-page="/security/login.jsp" authentication-failure-url="/403.jsp" default-target-url="/login!home.action" />
    	<!-- logout-success-url:成功注销后跳转到的页面; -->
   		<security:logout logout-success-url="/security/login.jsp"/>
    	
		<!-- intercept-url:拦截器,可以设定哪些路径需要哪些权限来访问. filters=none/security=none 不使用过滤,也可以理解为忽略  以下:ROLE_USER角色的用户才可以访问user.action -->
		<security:intercept-url pattern="/user.action*" access="ROLE_USER" />
		<security:intercept-url pattern="/admin.action*" access="ROLE_ADMIN" />
	</security:http>
<!-- 权限管理操作 -->   
    <security:authentication-manager>
        <security:authentication-provider> 
<!--       使用固定的用户名和密码及权限来做验证. -->     
                <security:user-service>
                	<security:user name="admin" password="admin" authorities="ROLE_ADMIN" />
                	<security:user name="user" password="user" authorities="ROLE_USER" />   
                </security:user-service>
        </security:authentication-provider>
    </security:authentication-manager>

登陆的jsp:
<form id="test" action="${path}/j_spring_security_check" method="post">
    	name<input id="name" class="form" name="j_username"/><br/>
    	password<input id="password" name="j_password" class="form"/><br/>
    	<input type="submit" value="submit"/>
    </form>

由于验证过程是Spring Security框架自动完成的,所以在我们的登录页面中表单元素的name
都是固定的。
如果要显示登录错误信息加上${sessionScope.SPRING_SECURITY_LAST_EXCEPTION.message}
在spring.xml配上一个bean:
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    	<property name="basename" value="classpath:message_zh_CN"/>
    </bean>

删掉这个配置authentication-failure-url="/403.jsp"
在src路径下新建一个message_zh_CN(解压官方文档spring-security-core-3.2.0.M1)修改AbstractUserDetailsAuthenticationProvider.badCredentials=密码错误

登陆后的页面:
<a href="${path}/user.action">User 用户入口</a>
	<br/>
	<a href="${path}/admin.action">Admin用户入口</a>
	<br/>
		
	<a href="${path}/j_spring_security_logout">注销吧</a>

如果通过地址栏直接访问需要权限的资源,将会被拦截,返回到登陆页面(若没有登陆页面)spring会自动创建一个登陆页面。当在登录页面进行了正确的登录后,Spring Security会自动进行登录验证,如果成功登录,
将用户信息放到session 中,然后转到先前请求的页面上。
分享到:
评论

相关推荐

    利用spring security控制同一个用户只能一次登陆

    标题中的“利用Spring Security控制同一个用户只能一次登录”是指在基于Spring Security的Web应用程序中实现单点登录(Single Sign-On, SSO)的功能,确保同一时间只有一个设备或浏览器会话可以登录同一用户的账户。...

    Spring Security in Action

    Spring Security 是一个基于 Java 的安全框架,旨在提供身份验证、授权和访问控制等功能。下面是 Spring Security 的主要知识点: 一、身份验证(Authentication) 身份验证是指对用户身份的验证,以确保用户的...

    Spring Security 资料合集

    Spring Security 是一个强大的安全框架,主要用于Java应用的安全管理,它为Web应用和企业级应用提供了全面的安全服务。这个框架能够处理认证、授权以及各种安全相关的功能,帮助开发者构建安全、可扩展的应用。以下...

    SpringSecurity.pdf

    Spring Security是一个功能强大、高度定制的安全框架,它专门用于为基于Spring的应用程序提供安全性解决方案。Spring Security架构的设计初衷是为了解决认证和授权的需求,确保应用程序的安全性。它提供了全面的安全...

    springsecurity学习笔记

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

    SpringSecurity笔记,编程不良人笔记

    - **Filter Chain**: SpringSecurity通过一系列过滤器实现其安全功能,这些过滤器构成了Filter Chain。每个过滤器负责特定的安全任务,如认证、授权等。 - **Authentication**: 表示用户的身份信息,包括用户名、...

    spring security 完整项目实例

    Spring Security 是一个强大的安全框架,用于为Java应用提供身份验证和授权服务。在这个完整的项目实例中,我们将深入探讨Spring Security的核心概念以及如何将其应用于实际的Web应用程序开发。 首先,我们从用户、...

    Spring Cloud Gateway 整合 Spring Security 统一登录认证鉴权

    在压缩包文件`spring_gateway_security_webflux`中,可能包含了示例代码或配置文件,用于演示如何在Spring Cloud Gateway中集成Spring Security,实现统一登录认证鉴权。这些资源可以帮助开发者更快地理解和实践上述...

    SpringSecurity学习总结源代码

    总结,SpringSecurity是一个功能强大的安全框架,它为开发者提供了安全Web应用的全套解决方案。通过理解并熟练运用其核心概念和组件,我们可以构建出安全、健壮的应用程序。在学习过程中,分析提供的源代码和示例将...

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

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

    spring spring security2.5 jar

    Spring Security是Spring生态体系中的一个核心组件,主要负责应用程序的安全性,包括认证和授权。它为Web应用提供了全面的保护,防止未经授权的访问和操作。在版本2.5时,Spring Security已经是一个成熟且功能丰富的...

    spring security 官方文档

    Spring Security 是一个强大的安全框架,用于为Java应用提供全面的安全管理解决方案。它是Spring生态系统的组成部分,专注于身份验证、授权和访问控制。Spring Security的核心特性包括: 1. **身份验证...

    spring security3 中文版本

    #### 一、Spring Security 3.0.1 概览 ##### 1.1 Spring Security 是什么? Spring Security 是一个强大的、高度可定制的身份验证和访问控制框架。它提供了许多功能,包括登录表单、记住我功能、多身份验证器、...

    SpringBoot+SpringSecurity处理Ajax登录请求问题(推荐)

    SpringBoot+SpringSecurity处理Ajax登录请求问题是SpringBoot开发中的一個常见问题,本文将详细介绍如何使用SpringBoot+SpringSecurity处理Ajax登录请求问题。 知识点1:SpringBoot+SpringSecurity框架简介 ...

    spring security 4.0.0所需jar包

    Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,广泛用于Java应用程序的安全性管理。这个压缩包包含了Spring Security 4.0.0版本所需的jar包,这是一组核心组件,为构建安全的Web应用提供了...

    spring-security 官方文档 中文版

    Spring Security 是一款基于 Spring 框架的安全插件,提供了完整的安全性解决方案,包括身份认证(Authentication)、授权(Authorization)以及会话管理(Session Management)等功能。Spring Security 的设计目标是为...

    springsecurity原理流程图.pdf

    Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架,它是安全领域中Spring生态系统的一部分。Spring Security旨在为Java应用程序提供一个全面的安全解决方案,尤其适用于企业级应用场景。它主要...

    SpringBoot+SpringSecurity+WebSocket

    在IT行业中,SpringBoot、SpringSecurity和WebSocket是三个非常重要的技术组件,它们分别在应用程序开发、安全管理和实时通信方面发挥着关键作用。本项目结合这三个技术,构建了一个整合的示例,旨在展示如何在...

    精彩:Spring Security 演讲PPT

    Spring Security 是一个功能强大的安全框架,可以为基于Java的应用程序提供认证(Authentication)、授权(Authorization)等功能,同时提供了丰富的配置选项来满足不同的应用场景需求。 #### 二、传统Web应用安全开发...

    spring_security_3.1

    Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,专为Java应用程序设计。它在Spring生态系统中扮演着核心安全组件的角色,使得开发者能够轻松地实现安全性需求,包括用户认证、授权、会话管理...

Global site tag (gtag.js) - Google Analytics