实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架
实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架
作者:一餐三碗
对于任何一个完整的应用系统,完善的认证和授权机制是必不可少的。在基于SpringFramework的WEB应用中,
我们可以使用Acegi作为安全架构的实现。本文将介绍如何在基于Spring构架的Web应用中使用Acegi,并且详细介
绍如何配置和扩展Acegi框架以适应实际需要。
1. 概述
Acegi是一个专门为SpringFramework应用提供安全机制的开放源代码项目,全称为Acegi Security System for Spring,当前版本为
0.8.3。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和面向接口的编程方式。通过精心
配置Acegi安全系统能够轻松地适用于复杂的安全需求。它既能应用于WEB应用也能应用于非WEB应用。在 本文的示例程序
里,我将演示如何将Acegi应用于WEB应用程序。通过这个例子详细介绍如何配置Acegi的各个组件,同时介绍如何扩展Acegi
使其能够从数据库中读取配置信息。
2. 例子说明
本文的例子是一个联系人管理程序,使用SpringFramework 1.2.4 和 Acegi0.8.3,数据库采用Mysql。程序的目录结构如下:
acegi-sample
│ contactadd.jsp//增加联系人页面
│ contactedit.jsp//编辑联系人页面
│ contactlist.jsp//联系人列表页面
│ contactmainterance.jsp//联系人操作页面
│ index.jsp//主页面
│ login.jsp//登录页面
│ logoff.jsp//登出页面
│
├─WEB-INF
│ │ web.xml
│ │ applicationContext-basic.xml
│ │ applicationContext-security-acegi.xml
│ │ log4j.properties
│ │
│ ├─src
│ │ └─sample//java代码目录
│ ├─classes
│ └─lib//依赖包目录
└─db//建表脚本目录
程序的ER图如下:
file:///I|/doc/index.htm (1 of 10)2005-12-6 10:37:51