一 Acegi安全系统介绍
Author: cac 差沙
Acegi是Spring Framework 下最成熟的安全系统,它提供了强大灵活的企业级安全服务,如完善的认证和授权机制,Http资源访问控制,Method 调用访问控制,Access Control List (ACL) 基于对象实例的访问控制,Yale Central Authentication Service (CAS) 耶鲁单点登陆,X509 认证,当前所有流行容器的认证适配器,Channel Security频道安全管理等功能。
1.1 Acegi 安全系统
官方网站 http://acegisecurity.sourceforge.net
论坛 http://forum.springframework.org/forumdisplay.php?f=33
Jira http://opensource.atlassian.com/projects/spring/browse/SEC
1.2 多方面的安全控制粒度
- URL 资源访问控制
http://apps:8080/index.htm -> for public
http://apps:8080/user.htm -> for authorized user - 方法调用访问控制
public void getData() -> all user
public void modifyData() -> supervisor only - 对象实例保护
order.getValue() < $100 -> all user
order.getValue() > $100 -> supervisor only
1.3 非入侵式安全架构
- 基于Servlet Filter和Spring aop, 使商业逻辑和安全逻辑分开,结构更清晰
- 使用Spring 来代理对象,能方便地保护方法调用
1.4 其它安全架构
Acegi只是安全框架之一,其实还存在其它优秀的安全框架可供选择:
- JAAS :http://java.sun.com/products/jaas/
- Seraph: http://opensource.atlassian.com/seraph/
- jSai - Servlet Security : http://oss.ipov.org/jsai/
- Gabriel : http://gabriel.codehaus.org/
- JOSSO : http://www.josso.org/
- Kasai: http://www.manentiasoftware.com/kasai/goToHome.action
- jPAM : http://jpam.sourceforge.net/
- OpenSAML : http://www.opensaml.org/