Acegi认证授权流程
1、FilterToBeanProxy 负责代理请求给FilterChainProxy
2、FilterChainProxy 方便的将多个Filter串联起来,如上面基本概念中提到的各种Filter,当然如果对URI进行授权保护,也可以包含FilterSecurityInterceptor。注意各Filter的顺序。
3、AbstractSecurityInterceptor 调度中心。负责调用各模块完成相应功能。
FilterSecurityInterceptor 对URI进行拦截保护
AspectJSecurityInterceptor 对方法进行拦截保护
MethodSecurityInterceptor 对方法进行拦截保护
4、AuthenticationManager 用户认证
-> AuthenticationProvider 实际进行用户认证的地方(多个)。
-> UserDetailsService 返回带有GrantedAuthority的UserDetail或者抛出异常。
5、AccessDecisionManager(UnanimousBased/AffirmativeBased/ConsensusBased) 授权
-> AccessDecisionVoter(RoleVoter/BaseAclEntryVoter) 实际投票的Voter(多个).
6、RunAsManager 变更GrantedAuthority
7、AfterInvocationManager 变更返回的对象
-> BaseInvocationProvider 实际完成返回对象变更的地方(多个)。
分享到:
相关推荐
学习acegi的第一步, <bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy"> PATTERN_TYPE_APACHE_ANT /**=httpSessionContextIntegrationFilter,basicProcessingFilter,...
### 基于Spring的Acegi安全框架认证与授权的分析及扩展 #### 1. Acegi安全框架的概述 Acegi(后更名为Spring Security)是Spring框架中的一个子项目,专注于提供强大的安全功能,包括认证、授权以及保护web应用...
在`YourUserDetailsService`中,你需要实现`UserDetailsService`接口,提供一个方法`loadUserByUsername(String username)`,该方法会由Acegi在认证过程中调用,用于查找指定用户名的用户信息。 最后,为了使Basic...
在Spring框架中,Acegi(现在已经并入Spring Security)是一个强大的安全管理组件,它提供了认证和授权功能。在本文中,我们将深入探讨Spring_Acegi框架如何实现授权机制,特别是通过`FilterSecurityInterceptor`来...
Acegi的认证流程主要包括以下几个步骤: 1. **提交凭证**:用户通过表单或API提交登录凭证,如用户名和密码。 2. **验证凭证**:Acegi通过`AuthenticationManager`接口来验证凭证的有效性。 3. **创建认证对象**:...
【Acegi框架介绍 acegi安全与认证】 Acegi Security,现称为Spring Security,是一个强大的安全框架,主要用于基于Spring的企业级应用。它通过Spring的依赖注入(IoC)和面向切面编程(AOP)功能,提供了声明式的...
一个使用Acegi身份认证框架的笔记 可以节省你的时间 方便快速学会使用
"Acegi认证授权流程.txt"很可能是对Acegi中认证和授权流程的文本描述,包括用户请求的处理流程、权限检查、会话管理等。掌握这个流程对于调试和优化安全设置至关重要。 总的来说,这个合集提供了一个全面的学习路径...
- **身份验证(Authentication)**:Acegi 提供了多种身份验证机制,如基于密码的认证、LDAP认证等,确保只有合法用户能够访问系统资源。 - **授权(Authorization)**:Acegi 提供细粒度的权限控制,允许开发者...
Acegi Security的核心设计考虑了认证(Authentication)和授权(Authorization)这两个关键的安全操作。 **认证(Authentication)**是验证用户身份的过程,Acegi Security支持多种认证机制,包括: 1. **HTTP基本...
Acegi还提供了丰富的接口和类,允许开发者自定义认证和授权流程,例如创建自定义的`UserDetailsService`来从数据源加载用户信息,或者实现自定义的`AuthenticationProvider`以支持特定的认证逻辑。 尽管Spring ...
4. **实现认证和授权逻辑**:根据应用需求,实现自定义的认证和授权类,这些类通常会扩展Acegi提供的基础类。 5. **测试和调试**:在实际运行环境中测试安全功能,确保用户权限设置正确,并使用Acegi提供的日志和...
6. **jar.GIF 和 result.GIF**:这些可能是教程中的辅助图形,可能展示了配置步骤或者运行结果,帮助理解Acegi的工作流程。 总的来说,这个示例工程将展示如何在Spring环境中配置Acegi,创建用户、角色和权限,以及...
不同于传统的安全框架,Acegi采用了面向切面编程(AOP)的方式来处理认证和授权问题,这使得它能够与业务代码保持高度的解耦,同时也赋予了开发人员更多的灵活性来定制安全策略。本文将深入探讨Acegi的关键组件、...
acegi security实践教程—简单定制logoutFilter 这个demo是在原来的基础上,定制自己的logoutFilter,具体详细的博客地址介绍如下: http://blog.csdn.net/yuebinghaoyuan/article/details/21075929
Acegi Security(现已被Spring Security替代)是一个功能强大的安全框架,它主要解决了认证(Authentication)和授权(Authorization)这两个核心的安全问题。 首先,让我们理解认证和授权的基本概念: - **认证**...
安全涉及到两个不同的概念,认证和授权。前者是关于确认用户是否确实是他们所宣称的身份。授权则是关于确认用户是否有允许执行一个特定的操作。 在Acegi安全系统中,需要被认证的用户,系统或代理称为"Principal...
Acegi安全系统,是一个用于Spring Framework的安全框架,能够和目前... 安全涉及到两个不同的概念,认证和授权。前者是关于确认用户是否确实是他们所宣称的身份。授权则是关于确认用户是否有允许执行一个特定的操作。
Acegi 使用 Servlet 过滤器来保护 Web 应用,通过身份认证和授权来确保系统的安全性。该框架利用了 Spring 框架的依赖注入和面向切面编程(AOP)特性,使得安全功能可以独立于应用代码,降低了安全性和业务逻辑之间的...
Acegi的安全控制流程可以类比于乘飞机的过程:安检对应身份认证,登机对应资源访问控制,按号就座则对应领域对象的安全控制。通过这种方式,Acegi确保了只有经过认证的用户才能访问相应的资源,并且他们的操作权限...