Spring Security 3.0 Acl- 调用过程全说明

1. Spring Security通过继承AbstractSecurityInterceptor的子类进行AOP调用,用Around在要求调用的时候进行处理
2.从ContextHolder分离出SecureContext,并处理错误和null
3.从SecureContext中解析出Authentication
4.判断请求是否是要求安全的
5.如果是要求安全的,将进行安全检查
         a.根据AuthenticationManager返回的权限进行request认证
         b.根据AccessDecisionManager对request进行认证
         c.通过设置在RunAsManager的设定对run-as进行置换
         d.将控制权交给明确的子类,子类将实际执行相关过程。但子类执行完毕后它将返回一个InterceptorStatusToken。它将最终决定是重新
         调用还是中断AbstractSecurityInterceptor
         e.子类将通过afterInvocation(InterceptorStatusToken, Object)重新调用AbstractSecurityInterceptor
         f. 如果RunAsManager置换了权限,返回ContextHolder到object它在AuthenticationManager之后存在
         g. 如果AfterInvocationManager被定义,启动invocation manager并运行它,允许它替换返回给request的object
   6. 控制与object再次返回子类。子类将结果返回给最初的调用者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值