InfoQ

新闻

Spring(Acegi)Security 2.0增加OpenID支持、REST能力及性能改进

作者 Dionysios Synodinos译者 张龙 发布于 2008年4月30日 上午3时18分

社区
Java
主题
Web框架,
安全
标签
Spring框架

SpringSource的总裁和CEO Rod Johnson宣布了Spring Security2.0.0的发布,该版本将Acegi Security作为Spring应用的官方安全模块。如InfoQ早前报道,Acegi security已经成为企业软件中应用最为广泛的Java安全框架之一,它提供了全面的认证、授权、基于实例的访问控制、channel安全及人类用户检验能力:

Acegi Security开始于2003年底,其起因源于Spring开发者邮件列表上的一个问题:基于Spring的安全实现是否在计划中呢?从那时起,Acegi就成为为数不多的Java安全框架之一,毫无疑问,也是应用最为广泛的一个。Servlet和EJB安全标准的不健全及灵活性差的原因导致人们对Acegi产生了浓厚的兴趣,也就是从那时起,Acegi发展成支持今天大多数认证机制的项目。对于认证我们已经讨论很多了,然而对于安全方面最大的挑战(也是讨论最少的)却来自于授权,Acegi支持如下几种方式的授权:web请求,方法调用,甚至对单个域对象实例的访问。

新特性包括简化的配置,并增加了新的功能,包括OpenID、NTLM、JSR 250注解、AspectJ切入点(pointcut)支持、域ACL增强、RESTful URI授权、组、分级角色、用户管理API、数据库支持的“remember me”,portlet认证、其他语言、Web Flow 2.0支持、Spring IDE可视化及自动完成、通过Spring Web Services 1.5提供的增强WSS支持等等。

这是向Spring Portfolio迈出的重要一步。Spring(Acegi)Security已经成为Java平台上使用最广泛的企业安全框架,从SourceForge上250,000的下载量及每个版本超过20,000的下载量我们就能认识到这一点。

在Acegi Security主页上有关于新项目更多的技术细节:

Spring Security 2.0.0构建在Acegi Security坚实的基础之上,并增加了很多新特性:
  • 简化的基于命名空间的配置语法。旧式配置可能需要上百行的XML,然而我们对配置方式新的约定确保很多部署只需要不到十行
  • OpenID集成,这是web界新出现的单点登录标准(受到Google、IBM、Sun、Yahoo等支持)
  • Windows NTLM支持,提供针对Windows网络简单的企业范围的单点登录
  • 支持JSR 250(“EJB 3”)security注解,提供了针对授权元数据的基于标准的模型
  • AspectJ切入点表达式语言支持,允许开发者在Spring管理的对象上应用横切(cross-cutting)安全逻辑
  • 对高性能域对象实例安全性(“ACL”)的改进
  • 全面支持RESTful web请求授权,这样它可以与构建RESTful系统的Spring 2.5 @MVC模型配合得很好
  • 支持长久以来都一直需要的组、层级角色及用户管理API,他们联合起来可以减少开发时间并大幅改善系统的管理
  • 一个改进的、数据库支持的“remember me”实现
  • 支持开箱即用的portlet认证
  • 对其他语言的支持
  • 其他众多的改进、文档和新的例子
  • 通过Spring Web Flow 2.0对web状态与流程流转授权提供支持
  • 最新支持可视化安全方法,并且支持Spring IDE的自动完成
  • 通过Spring Web Services 1.5对WSS(以前称作WS-Security)增强支持

Matt Raible描述了升级到Spring Security 2.0的个人体会:

很兴奋看到Spring Security 2.0给予你如此多的能力和灵活性,完全不必使用XML。谢谢你们了!

Matt还为这次升级做了一个完全列表

Chris Baker详细说明了从Acegi升级到Spring Security2.0的路径,并且概要论述了从现存的基于Acegi的Spring应用升级到Spring Security 2.0的步骤:

这个关于如何配置Spring Security 2.0以访问数据库中的资源的简短指南并没有触及Spring Security 2.0中的许多新特性,但是我认为它展现了框架中最常用的一些功能,我希望它能对你有帮助。Spring Security 2.0优于ACEGI的一个地方在于它的配置文件更简练,当我将旧有的ACEGI配置文件(172行)与新的配置文件(42行)相比时就很容易发现这一点。
就像我在步骤1中所说的那样,下载Spring Security是最棘手的事情。从那之后将一帆风顺……

之前Dan曾发表评论说“你使用Acegi一次,就有一个仙女死去”,作为回应,Rod Johnson幽默地说该安全框架的新版本“能够在童话王国胜任”。在Spring Security 2.0发布前,SpringSource的Ben Alex也曾对Dan的话发表了评论

我们从社区论坛、开发者列表、JIRA、用户会议、培训、咨询和团队blog上收到了大量的反馈。毋庸置疑,很多人都在找寻对Spring Security(以前的Acegi)配置格式的改进方式,为此我们投入了大量的时间。
在下周的Spring体验大会上,我将展示Spring Security 2.0.0 M1的新特性将如何简化配置。

可以从这里下载最新发布的Spring Security。

你可以从infoq.com/Spring找到更多关于Spring的信息。

查看英文原文:Spring (Acegi) Security 2.0 Adds OpenID Support, REST Capabilities, and Performance Improvements

1 条回复

回复

一点好处也没有 还是一样复杂 发表人 shen jianfeng 发表于 2008年5月26日 上午9时20分
  1. 返回顶部

    一点好处也没有 还是一样复杂

    2008年5月26日 上午9时20分 发表人 shen jianfeng

    spring 现在越来越繁琐了 简化的基于命名空间的配置语法。旧式配置可能需要上百行的XML,然而我们对配置方式新的约定确保很多部署只需要不到十行 一点好处也没有 还是一样复杂

独家内容

世界顶尖运动队教练的成功秘诀

本文列出了来自于顶级教练Marc Lammers的9条原则,他是在打造世界最佳曲棍球队的过程中发现这些原则的,文章把这些原则映射到了软件开发实践之中。

探索JVM上的LISP

本文由Per Jacobsson所作,目标读者为有意了解Lisp的Java开发人员。文章探讨了当前可以运行于JVM上的不同Lisp方言,以明快简洁的方式介绍了Lisp程序设计工作机理和其独特之处,并在最后演示了Lisp代码同Java系统的整合过程。

Ruby/Rails: 不一样的'Web'应用

本文以一个实际应用的例子为引子,探讨Ruby/Rails在非传统web系统中应用,以及研究如何定制以Rails为基础的领域特定的MVC框架。

认识云计算

本视频对云计算进行了简要的介绍,主要包括了五部分内容:首先带大家认识“云”,然后对计算机的发展过程进行了阐述,接着介绍了业界现状和企业级/世界级计算的新布局,最后对云计算做了一下展望。

AtomServer:数据分发的发布动力

在这篇文章中,Bryon Jacob和Chris Berry介绍了AtomServer,一个基于Apache Abdera的完整Atom存储实现。在去年,作者一直致力于为其雇主——Homeaway——实现一个Atom存储,现在已开源了其Atom存储框架:AtomServer。

从卓越工程角度看微软中国开发团队的成长

开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。

利用Ruby简化你的Java测试

本文是Productive Java with Ruby系列文章的第一篇,我将从单元测试这个话题开始,让Java的开发人员能够在实际工作中利用Ruby提高工作效率。

与赵进聊SaaS

InfoQ中文站有幸与阿里软件的首席架构师赵进在一起探讨了SaaS的相关话题,包括SOA和ASP与SaaS的异同、云计算、SaaS的前景、它的关键技术、技术瓶颈等等。