为了防止以后忘记各个过滤器作用,特此把主要的过滤器作用放入此blog中。
ChannelProcessingFilter:检查用户请求是否走了要求的数据传输通道,即是SSL传输通道还是HTTP传输通道。如果不复合
要求ChannelProcessingFilter会采用重定向机制转换传输协议。注意ChannelProcessingFilter并不操控存储了
SecurityContext对象的SecurityContextHolder
ConcurrentSessionFilter:用于HttpSession并发控制的过滤器,它也不需要操控到存储了SecurityContext对象的SecurityContextHolder
HttpSessionConcurrentIntegrationFilter:这是操控SecurityContextHolder的首个过滤
器。期间可能会涉及到HttpSession的同步,即同步SecurityContext对象,当web请求来
时,HttpSessionContextIntegrationFilter会从现在的HttpSession获得SecurityContext对
象,并设置到SecurityContextHolder中。如果不存在HttpSession,则直接构建一个全新的SecurityContext对
象,并将她设置到SecurityContextHolder中,当web请求即将离开
时,HttpSessionContextIntegrationFilter会检查SecurityContext对象是否被别人更新过,如果是,则同
步到HttpSession中。最后,这一过滤器总是会调用SecurityContextHolder的clearContext()方法,以复位
SecurityContextHolder的取值
LogoutFilter:负责完成已经登陆用户的退出操作
HttpRequestIntegraationFilter,X509ProcessingFilter,AuthenticationProcessingFilter,BasicProcessingFilter,DigestProcessingFilter,JbossIntgrationFilter,CasProcessingFilter:
是各种认证的具体过滤器
SecurotyContextHolderAwareRequestFilter:满足与JAVAEE兼容的过滤器,期间,她会采用
SavedRequestAwareWrapper包裹ServletRequest,从而兼容于标准的JAVAEE安全性编程模型,比如兼容
HttpServletRequest暴露的getRemoteUser(),getUserPrincipal()等JAVAEE安全行相关的方法
RememberMeProcessingFilter:
AnonymousProcessingFilter:
ExceptionRanslationFilter:这一Acegi过滤器用于捕捉异常信息
FilterSecurityInterceptor:这一过滤器用于web资源的授权
SwitchUserProcessingFilter:启用用户切换服务
参考:http://www.diybl.com/course/3_program/java/javashl/20090306/158653.html
分享到:
相关推荐
这些 Bean 之间的关系可以用 Spring 的依赖图来表示,每个 Bean 都有自己的职责,共同协作实现 Acegi 的安全功能。 总结来说,Acegi 配置涉及的主要步骤是:在 `web.xml` 中配置 Acegi 过滤器代理,然后在 `acegi....
在Spring的Bean关系图中,可以看到各个过滤器Bean以及它们之间的关联。每个图块代表一个Spring Bean,斜体和正体的同名Bean表示同一个实例。这种图形化的表示方式有助于理解Acegi如何在Spring容器中工作,以及过滤器...
Acegi通过一组可配置的安全过滤器来实现这些功能,这些过滤器能处理从简单的URL安全性到复杂的细粒度访问控制。 首先,Acegi的安全过滤器在用户尝试访问受保护的资源前进行介入,要求用户提供认证信息。这些过滤器...
5. **RoleHierarchy**: 角色层级关系,可以定义角色之间的继承关系。 在实际应用中,我们首先需要在Spring配置文件中定义Acegi Security的相关bean,如`AuthenticationManager`、`FilterSecurityInterceptor`等。...
8. **UML图解**:`um`开头的文件可能是UML类图、序列图或用例图,用于可视化展示Acegi的安全流程和组件之间的交互关系,帮助读者更好地理解和实现Acegi的安全架构。 综上所述,这个资源对于理解和实施Acegi安全框架...
配置Run-As认证替换涉及到指定代理用户和目标用户之间的关系。 #### 十一、表单认证机制 ##### 11.1 概览 表单认证是最常见的认证方式之一,用户通过提交用户名和密码进行身份验证。 ##### 11.2 配置 配置表单...
最后,将Acegi的过滤器链添加到Web应用的部署描述符(web.xml)中,确保在请求被处理之前,Acegi的过滤器能够正确拦截并执行安全策略。 总的来说,通过Acegi、Spring、Hibernate和Struts 2的集成,我们可以创建一个...
这些组件之间的交互关系形成了Acegi Security系统的安全控制流程,确保了系统的安全性与灵活性。 ### 安全管理对象与配置 Acegi Security系统支持两种类型的安全管理对象:AOP Alliance的MethodInvocation和...
3. **创建认证和授权对象**: 定义用户、角色和权限,以及它们之间的关系。 4. **实现业务逻辑**: 在业务代码中,利用AOP注解或访问决策策略添加安全控制。 5. **测试和调试**: 通过模拟不同用户角色,测试访问控制...
Spring IoC容器负责创建对象并管理它们之间的依赖关系,这样可以简化代码并提高可维护性。在Acegi 1.0.3版本中,示例教程war包`acegi-security-sample-tutorial.war`与Spring 1.2.8版本兼容,这表明在使用Acegi时,...
这部分内容可能帮助那些从Acegi迁移到Spring Security的开发者理解两者之间的关系和差异。 `ca.html`和`springsecurity.html`的详细内容没有明确的描述,但根据常规,它们可能涉及证书权威(CA)和Spring Security...
- **RoleHierarchy**:角色层级结构,允许定义角色之间的继承关系,比如`ROLE_ADMIN`可以包含`ROLE_USER`的所有权限。 4. **Remember Me服务** - Spring Security提供了Remember Me服务,允许用户选择“记住我”...
- **自动配置**:`auto-config` 属性可以自动配置一些基本的安全功能,如默认的认证过滤器。 - **表单和基本登录选项**:可以通过 `<form-login>` 和 `<http-basic>` 元素来配置登录页面和基本认证。 - **使用其他...
在开发过程中,系统配置需要依赖于AOS平台,并在`web.xml`中添加安全过滤器和映射。权限配置主要涉及在数据库中设置这些表的数据,如定义模块、权限、菜单以及它们之间的关系,以实现对不同用户的访问控制。通过这种...
确保DWR过滤器和Struts过滤器按正确的顺序执行。 **4.5 DWR与Weblogic或PageFlow** 对于运行在Weblogic服务器上的应用程序,DWR同样可以提供强大的支持。 **4.6 DWR与Hibernate** Hibernate是一个流行的对象关系...
视频中可能会讲解如何配置Spring Security的XML或Java配置,设置过滤器链,以及自定义认证和授权逻辑。例如,使用`<intercept-url>`元素来指定URL访问规则,以及`<user-service>`或`<authentication-provider>`来...
3. **Hibernate框架**:作为持久层工具,Hibernate简化了数据库操作,通过对象关系映射(ORM)实现了Java对象与数据库表之间的映射。在权限系统中,Hibernate用于管理用户、角色和权限的数据库交互,如查询、插入、...