写点什么

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

  • 2008-04-30
  • 本文字数:1921 字

    阅读完需:约 6 分钟

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

2008-04-30 03:181830
用户头像

发布了 88 篇内容, 共 273.8 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

Javaweb核心之注解开发Servlet

楠羽

Servlet 笔记 9月月更

SQL是什么?它能做什么?

乌龟哥哥

9月月更

大数据调度平台Airflow(八):Airflow分布式集群搭建及测试

Lansonli

airflow 9月月更

开发者有话说|一名普通大专学历开发者的成长

彭发红

leetcode 669. Trim a Binary Search Tree 修剪二叉搜索树 (简单)

okokabcd

LeetCode 算法与数据结构

闲着刷题

吉师职业混子

9月月更

Identity and Access Management

冯亮

DevOps security AWS Cloud

工赋开发者社区 |【数智化】数字化工厂规划与建设方案

工赋开发者社区

算法基础(四)| 前缀和算法及模板详解

timerring

算法 9月月更

探索AI技术应用场景

felix

产业落地 AI探索 API接口 模型管理

深入了解之链接器与加载器

邱学喆

加载器 链接器 ELF文件结构

在家学习如何保持高度自律

大数据搬运工

学习方法

【云原生 | 从零开始学Kubernetes】七、Kubernetes的命名空间

泡泡

Docker 云计算 容器 云原生 9月月更

脑机接口照进现实:5位脑科学家带来的最新启示

脑极体

每日算法刷题Day1-隐式转换与精度丢失

timerring

算法题 9月月更

基于微服务的应用性能监控方案

穿过生命散发芬芳

9月月更 微服务监控

新书上市|听说你翻开数学书就眼睛疼?

图灵教育

数学 科普 教育

关爱2700多万听障者,手语服务助力无声交流

HarmonyOS SDK

手语

openEuler资源利用率提升之道 03:rubik混部引擎简介

openEuler

Linux 开源 cpu 操作系统 openEuler

新书上市|听说你翻开数学书就眼睛疼?

图灵社区

数学 科普 教育

NestOS应用案例:容器化部署OpenStack

openEuler

架构 openEuler 开源操作系统 OpenStack

架构实战营-模块一作业

Geek_92ba6f

【编程基础】正则表达式基本使用及在Python中使用正则表达式匹配内容

迷彩

Python 正则表达式 9月月更

【jvm】通过JDBC为例谈谈双亲委派模型的破坏

石臻臻的杂货铺

JVM 9月月更

2022-09-24:以下go语言代码输出什么?A:1;B:3;C:13;D:7。 package main import ( “fmt“ “io/ioutil“ “net/

福大大架构师每日一题

golang 福大大 选择题

如何在笔记本上安装openEuler 22.03 LTS

openEuler

开源 操作系统 openEuler 安装部署

面向深度神经网络的特定领域架构

俞凡

深度学习 架构 TPU

清览题库--C语言程序设计第五版编程题解析(2)

吉师职业混子

9月月更

跟着卷卷龙一起学Camera--内存池浅析01

卷卷龙

ISP 9月月更

死锁检测实现

C++后台开发

后台开发 线程 多线程 死锁 C++开发

流程图布局在项目中的实践

相续心

Spring(Acegi)Security 2.0增加OpenID支持、REST能力及性能改进_Java_Dionysios G. synodinos_InfoQ精选文章