Spring Security学习笔记
????? 看了一个星期的Spring Security源码,应该说对控制URL级别的访问控制的认识是有80,90%了,这里把自己的一些记录给贴出来,分享是一方面,保存也是一方面。好了不说了,看下面具体分析了:
URL资源控制访问处理流程:
第一步:用户登录的时候根据用户名从数据库中查出用户所具有的GrantedAuthority[]信息,将它复制给Authentication对象(Authentication中有一个GrantedAuthority[]的属性),权限信息都封装成了GrantedAuthorityImpl的对象。

?

?
?
?
?第二步:从数据库中查出资源与权限的对应信息,以map的形式保存,比如像这样:
?
Creates aConfigAttributeDefinition containing a single attribute
??????????? setValue(new ConfigAttributeDefinition(StringUtils.commaDelimitedListToStringArray(s)));
?
?
Authenticationauthenticated=authenticateIfRequired(),对于认证对象的获得这里就不再复述了文档中已经分析了。
现在Authentication和ConfigAttributeDefinition都已经准备好了,就可以进行决定是否可以访问了,这叫个AccessDecisionManager进行处理。

?
?