Posted on 2009-02-03 03:29
leekiang 阅读(820)
评论(1) 编辑 收藏 所属分类:
spring 、
权限
1,FilterSecurityInterceptor的objectDefinitionSource定义的是url与角色的关系,既可以在xml里写死,也可以自定义一个FilterInvocationDefinitionSource,实现其public ConfigAttributeDefinition getAttributes(Object filter)方法。这个关系好像也可以定义在FilterChainProxy的filterInvocationDefinitionSource
http://www.javaeye.com/topic/113436
http://www.blogjava.net/redhatlinux/archive/2008/09/01/226010.html
http://www.webasp.net/article/29/28097_print.htm
定义好角色与url的关系,同时告诉acegi该用户拥有的角色,那么acegi会根据投票规则去验证是否有权限。
2,必须要设置httpSessionContextIntegrationFilter,否则就会报
org.springframework.security.AuthenticationCredentialsNotFoundException: An Authentication object was not found in the SecurityContext
3,
其实所有的权限问题最终可以总结为: 当前的登陆用户是谁,他拥有那些资源,
他现在所访问的资源是否与与其匹配。 这个就是最基本的 用户-资源 后来因用户和资源经常性变化,
单一的用户资源模型会导致经常性维护的麻烦,所以人们加入了角色一层,以方便更好的管理,
这就是 用户-角色-资源(RBAC)模型。随着系统的不断增大,用户和资源越来越多,
根据不同的项目的需要,人们又按需开发了不少模型,如 用户-角色-权限-资源 模型,
用户-角色-角色组-权限-资源 模型,用户-角色-角色组-权限-操作-资源 模型等,
其实无论中间加入多少层,如何扩展,也都是万变不离其宗:用户-资源。
4,
手册 http://family168.com/oa/springsecurity/html/
http://www.javaeye.com/topic/17896