6. 编译acegi-security-1.0.7-src\core的java源代码[/size]
时,需要修改pom.xml文件内容。修改如下:1)移走parent节点内容,按照无引用的、标准的pom格式构建groupId、version、artifactId、name等内容;2)增加被引用jar的version属性值 (spring.version),增加log4j的version值;3)移走resource节点及其相关的内容。
7. 序列化SecurityContextImpl时的问题:[size=medium]
在编码encode、解码decode时,需要使用传入参数类型为byte[]的方法,才可以正常进行序列化类操作;如果使用String类型传入参数的方法,无法进行正常的序列化类的操作。
8. VSAuthenticationProcessingFilter.doFilter
中会调用super.doFilter(即父类的.AbstractProcessingFilter.doFilter方法),在父类的方法中,使用requiresAuthentication方法去检查当前的URL是否是j_acegi_security_check,如果是,则调用VSAuthenticationProcessingFilter复写的attemptAuthentication方法进行用户验证,验证完后,不再走acegi验证链中的剩余部分,而是直接返回。
9. acegi链式验证的基本逻辑顺序:
1)web.xml设置filter触发点:org.acegisecurity.util.FilterToBeanProxy
2)在businessAcegi.xml中设置acegi 验证链内容,并转到org.acegisecurity.util.FilterChainProxy进行处理
3)在FilterChainProxy中生成VirtualFilterChain,通过它调用验证链中的第一个验证类HttpSessionContextIntegrationFilter。
然后由HttpSessionContextIntegrationFilter及其后的filter中会通过调用传递到其自身验证过滤器中的VirtualFilterChain(chain.doFilter(request, response)),来触发VirtualFilterChain里验证链里的与当前验证过滤器相邻的下一个过滤器。当前的过滤器执行完,如果不调chain.doFilter,则不会验证链的下一个触发,结束当前过滤器操作,并且程序回到过滤器被调用的位置(即VirtualFilterChain的doFilter方法中)。如果继续调用chain.doFilter,则会继续调用virtualFitlerChanin的doFilter方法,该方法有链表下标值的最大值判断,如果链表位置标识值超过链表上限,则调用web.xml中filter chain的其他filter。当最后一个filter完成操作后,程序依次向上返回,直到返回VirtualFilterChain doFilter触发的第一个过滤器HttpSessionContextIntegrationFilter中,最终在VirtualFilterChain doFilter方法中结束整个操作。
4)note:HttpSessionContextIntegrationFilter会使用httpResponse的包装类OnRedirectUpdateSessionResponseWrapper对httpResponse进行重新包装。
50. 用户登陆和权限管理
1) cn.com.*.*.authority.security.intercept.UserUrlByResourceDefinitionSource.lookupAttributes(String url)
负责处理发送到服务器的URL,判断URL是否需要做身份验证。
lookupAttributes方法返回null,表示不需要做验证。若返回AuthenticationHelper.getCadByAuthorities,则需要身份验证。
检查URL时会使用的检查项:1,URL中是否带有authority的路径;2,vseaf init配置文件配置的exposeurl;3,ADMIN_RESOURCE表里的URL数据;4,缓存中的URL内容
如果是受保护的URL,将使用acegi里的authentication里的URL权限数据对其进行验证。
分享到:
相关推荐
Acegi是Spring框架早期的一个安全模块,全称为Acegi Security System for Spring,它为Spring应用程序提供了...如果你正在使用或计划使用Spring Security,理解Acegi的笔记将有助于你更好地掌握这个强大的安全框架。
Acegi 是一个强大的 Java 安全框架,专用于系统安全编程,尤其在处理认证和授权方面表现出色。在本文中,我们将深入探讨 Acegi 的基本概念、如何设置以及它如何与 Spring 框架集成。 首先,让我们了解 Acegi 的核心...
Acegi是Spring框架早期的一个安全模块,主要用于身份验证和授权管理。在2009年,Acegi被Spring Security所吸收,成为其前身,因此理解Acegi有助于我们深入理解Spring Security的安全机制。以下是对Acegi的详细介绍和...
### Acegi学习笔记详解 #### 一、Acegi Security概览 **Acegi Security**,作为Spring Security的前身,是一个深度融入Spring Framework的安全框架,它为开发者提供了一套全面的安全解决方案,尤其在Web应用程序中...
### Acegi开发指南知识点详解 #### 一、Acegi简介 **Acegi**是一个基于Spring框架的安全性解决方案,专门设计用于Web应用的安全控制。Acegi的主要优势在于它提供了一种声明式的安全控制方式,允许开发者通过配置而...
Acegi 是一个在Java开发领域,特别是Spring框架中曾经广泛使用的安全组件,全称为Acegi Security。这个系统为Spring应用程序提供了全面的安全管理解决方案,包括身份验证、授权、会话管理以及安全事件处理等功能。...
Acegi是Spring Security的前身,是一个强大的安全框架,主要用于Java Web应用的安全管理。它提供了身份验证、授权和会话管理等功能,确保应用系统的安全性。在本教程中,作者旨在帮助那些在学习Acegi过程中遇到困难...
Acegi是一个基于Spring Web应用的安全框架,它的核心特性在于提供声明式的访问安全控制,使得开发者无需大量编写代码就能实现应用系统的安全配置。Acegi支持三种访问安全控制粒度:URL资源、业务类方法以及领域对象...
AceGI,全称为Acegi Security,是Java领域中一个用于Spring框架的安全组件,它提供了全面的身份验证、授权和会话管理功能。...在实际开发中,掌握Acegi的相关知识可以提升我们构建安全系统的专业能力。
Acegi权限控制学习笔记 Acegi安全框架是Spring Security的前身,它提供了一种强大的、灵活的、基于组件的安全解决方案,用于实现企业级应用的安全控制。在这个学习笔记中,我们将探讨两个关键点:身份认证成功后的...
【Acegi框架介绍 acegi安全与认证】 Acegi Security,现称为Spring Security,是一个强大的安全框架,主要用于基于Spring的企业级应用。它通过Spring的依赖注入(IoC)和面向切面编程(AOP)功能,提供了声明式的...
在本文中,我们将深入探讨Acegi开发实例,理解其核心概念,并通过具体的例子来学习如何在项目中应用它。 首先,Acegi安全框架的核心目标是保护应用程序的资源,确保只有经过身份验证和授权的用户才能访问。它提供了...
Acegi Security是一个专门为Spring框架设计的权限控制框架,旨在为基于J2EE的企业级应用程序提供全面的安全服务。这个框架解决了J2EE规范中安全性配置不便于移植的问题,使得应用程序的安全设置能够在不同服务器环境...
一个使用Acegi身份认证框架的笔记 可以节省你的时间 方便快速学会使用
Acegi是Spring Security的前身,它是一个用于Java企业级应用的安全框架,提供了全面的身份验证、授权和会话管理功能。这个压缩包包含了Acegi的示例代码和一个学习资源,对于初学者来说是非常宝贵的资料。 首先,让...
Spring Acegi是一个安全框架,它为Spring应用提供了一套强大的身份验证和授权机制。这个框架在Spring Security(之前称为Spring Security)之前被广泛使用。在本文中,我们将深入探讨Spring Acegi的核心概念、功能和...
Acegi是一个专门为SpringFramework应用提供安全机制的开放源代码项目,全称为Acegi Security System for Spring,当前版本为 0.8.3。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和...
Acegi-Spring安全框架是一个专为基于Spring的企业应用设计的安全框架,现在被称为Spring Security。它提供了声明式的安全访问控制,允许开发者在Spring容器中配置安全相关的Bean,利用Spring的依赖注入(IoC)和面向...