InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

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

作者 Dionysios Synodinos 译者 张龙 发布于 2008年4月30日

领域
架构 & 设计,
语言 & 开发
主题
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

译者 张龙 热衷于编程,乐于分享,对新技术有强烈的探索欲,对Java轻量级框架有一定研究。

一点好处也没有 还是一样复杂 发表人 jianfeng shen 发表于
  1. 返回顶部

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

    发表人 jianfeng shen

    spring 现在越来越繁琐了

    简化的基于命名空间的配置语法。旧式配置可能需要上百行的XML,然而我们对配置方式新的约定确保很多部署只需要不到十行

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

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。