ACEGI 研究(1) - 流程篇

Acegi安全框架包括authentication和authorization两个核心部分。在authentication阶段,AuthenticationProcessingFilter拦截请求,通过AuthenticationManager和provider进行用户名密码验证。在authorization阶段,FilterSecurityInterceptor拦截请求,AccessDecisionManager采用投票策略决定用户是否具有访问权限。该过程涉及了Observer模式和多种可定制的决策策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Acegi工作流程

任何一个安全系统都包括authentication和authorization两部分,Acegi相同。

第一部分:authentication

1 acegi通过AuthenticationProcessingFilter拦截login请求获取Principal和Credential信息(通俗一点就是用户名和密码 ;-));

2 验证用户名密码,由这个Filter调用认证管理器AuthenticatiomManager进行验证。

AuthenticatiomManager本身并不具备验证的功能,它相当与是一个验证控制器,由它来管理验证的过程及方式。AuthenticatiomManager是通过调用provider来进行验证的,一个manager中可以具有多个provider,但只要有一个provider验证通过,manager就认为验证成功。

这部分要明白三点:一,provider是可以配置进去的,因为acegi是基于spring的;二是AuthenticatiomManager是可以被重写的,你可以将manager改成你自己希望的控制器;三,好好利用event,这是标准的observer模式。acegi中的设计模式研究将在以后的贴子中讨论。

3 provider进行验证。

provider是真正的验证模块,并且决定了验证的模式。provider目前acegi提供了dao、jaas,cas,x509,ldap等几种验证方式,这些验证方式的具体内容可以查阅acegi的文档。provider验证通过后将Authentication对象返回。

4 AuthenticationProcessingFilter将对象保存

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值