- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Acegi 的安全管理系统的研究与应用
高尚
北京邮电大学计算机科学技术学院,北京(100876 )
E-mail :gaoshang1999@163.com
摘 要:分析了基于Spring 的Acegi 的构架,并讨论了如何利用Acegi 进行Web 资源的认
证和授权。阐述了Acegi的重要组件的作用,并详细说明了Acegi 安全框架认证与授权的过
程。通过上述分析,可以了解Acegi 安全系统机制运行步骤与原理。由于在运行期间用户可
能会提出动态改变权限分配的需求,Acegi 默认的配置文件策略略显不足。对此总结出一种
基于数据库的策略,来对Acegi 资源配置进行动态扩展。
关键词:Acegi ,认证, 授权, 过滤器
中图分类号:TP 393
1.引言
安全,是一个永恒的话题。在软件领域,到处都有安全需求,企业应用领域也不例外。
尽管不存在绝对的安全,但是不采取任何措施应对安全问题带来的挑战,其后果可想而知。
比如,SQL 注入、脚本漏洞等等。因此,我们必须高度重视安全性问题。
各个企业都存在各式各样的安全性需求。为满足这些需求,每个企业会提供不同的安全
机制,软硬件基础设施。企业级安全需要保护各种敏感资源的访问,并不是任意的访问者都
能操控到被保护的资源的,尤其不能让恶意的访问者操控到这类敏感资源(比如,Web 页
面、业务操作、业务数据)。
企业级安全需要提供各种Qos 服务,以满足安全性需求。比如,用户认证、用户授权(即
访问控制)、数据加解密处理、审计等。
用户在访问到目标资源前,企业级安全必须拦截到这一访问请求,并作出用户认证处理,
这一步骤称为用户认证。比如,收集用户凭证、确认用户身份。在完成用户认证处理后,企
业级安全必须管理好认证结果,以供用户后续访问使用,从而避免重复认证处理。在特定场
合,用户目标服务间可能启用了双向认证,比如SSL、TLS、HTTPS 。此时,用户和目标服
务提供者要互相提供CA 证书,从而确保整个业务操作过程的真实性。
一旦完成用户认证处理后,企业级安全需要同时依据认证结果和用户待操控的目标资源
进行评估,从而确定当前用户是否有权访问目标资源,这一步骤称为用户授权。通常,存在
如下3 种不同资源:Web 页面、业务方法、业务数据。
目前,JavaEE 编程模型同时支持声明式安全和编程式安全。所谓声明式安全,即借助于
部署描述符或Annotation 注释技术表达安全性需求;所谓编程式安全,即在JavaEE 组件代
码中手工调用与安全性相关的JavaEE API,以满足安全性需求[3] 。
尽管JavaEE 提供的安全性技术非常健壮,优秀,但是如果直接采用JavaEE API、JavaEE
安全性编程模型实现安全性应用,开发者会将大量时间浪费在熟悉各JavaEE 容器上,而且
应用的便携性不能够得到保证,即便是同一JavaEE 容器厂商的不同JavaEE 容器版本的配置
都存在很在区别。
Acegi 框架的出现为解决企业应用安全问题提供了一种轻量级的,对业务逻辑侵入较少
的,易于配置和使用的新的解决方案
- 1 -
2 .Acegi 安全框架概述
Acegi 是基于Spring Framework 的一个开源项目,它为JavaEE 企业应用提供了完善的,
一流的认证和授权服务。企业应用中的各种资源都在Acegi (Spring Security) 的操控和保护
范围内,比如Web 页面、业务层的对象和方法以、领域对象等。Acegi 主要针对简化JavaEE
企业级应用中的安全的开发和部署,它为企业应用提供了一站式安全性解决方案[1][5][7] 。
下图从
文档评论(0)