最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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:181611
用户头像

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

关注

评论

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

软件测试如何自我提升

FunTester

阿里独家「操作系统和计算机网络」,GitHub标星超百万

做梦都在改BUG

Java 程序员 计算机网络 操作系统

三维设计新帮手|Blender怎么入门?

Finovy Cloud

blender 3D软件

不同云平台之间的纳管用什么工具好?有推荐的吗?

行云管家

云计算 云平台

商汤版ChatGPT「商量」来了!开放API,基于千亿参数大模型,体验实录在此

Openlab_cosmoplat

开源社区 ChatGPT

Netty服务开发及性能优化

做梦都在改BUG

Java Netty

OpenTelemetry 正在改变我们跟踪和设计应用的方式

NGINX开源社区

nginx 云原生

一文读懂 Nautilus Chain 上首个 DEX PoseiSwap 的通证经济学

EOSdreamer111

Kubernetes 多集群网络方案系列 1 -- Submariner 介绍

Se7en

低代码是什么意思

优秀

低代码

重磅官宣,OpenHarmony开发者大会来了!

OpenHarmony开发者

OpenHarmony

从零学习SDK(5)SDK文档的学习和参考

MobTech袤博科技

selenium源码通读·5 |webdriver/common/action_chains.py-ActionChains类分析

Python 源码 测试 自动化测试 selenium

PC GWP-ASan方案原理 | 堆破坏问题排查实践

字节跳动终端技术

问题排查 PC

软件测试/测试开发丨Pytest 结合 Allure 生成测试报告

测试人

软件测试 自动化测试 测试开发 pytest Allure

深度剖析Redis九种数据结构实现原理

做梦都在改BUG

Java 数据库 redis 缓存

Spring Cloud微服务网关Zuul过滤链和整合OAuth2+JWT入门实战

做梦都在改BUG

Java Spring Cloud OAuth2 JWT Zuul

mysql invalid conn排查

蓝胖子的编程梦

MySQL 性能 线上故障 超时 连接池

首次解密小红书“种草”机制:大规模深度学习系统技术是如何应用的

小红书技术REDtech

深度学习 机制策略 活动回顾

Maya 2024中文特别版 适用于Apple M和 intel/win系统

魔仙苹果mac堡

maya破解版 maya2024

手把手教你,从零开始搭建Spring Cloud Alibaba!这份笔记太牛了

Java你猿哥

spring Spring Cloud ssm 架构师

Nautilus Chain 上首个 DEX PoseiSwap 通证经济学模型解析

股市老人

一次系统延迟性优化案例

蓝胖子的编程梦

golang 性能 延迟 线上事故 线上故障

GitHub数据库榜单第一:Redis核心原理实践

做梦都在改BUG

Java 数据库 redis 缓存

Mac电脑照片编辑修图软件精选 每一款各有千秋!

魔仙苹果mac堡

Mac软件 图片编辑 抠图软件 苹果软件资源

一站式指标平台 Kyligence Zen 功能详解

Kyligence

数据分析 指标平台

一次goroutine 泄漏排查案例

蓝胖子的编程梦

golang 性能 协程 pprof 线上故障

程序员如何打破需求魔咒:为什么人越招越多,活越干越累?

小红书技术REDtech

算法 活动回顾

轻松几秒提升视频清晰度:Perfectly Clear Video Mac版

真大的脸盆

Mac 视频处理 视频增强 Mac 软件 视频画质

阿里内部热捧“Spring全线笔记”,不止是全家桶,太完整了

Java你猿哥

spring Spring Cloud Spring Boot Spring MVC

火山引擎DataLeap推出全链路智能监控报警平台

字节跳动数据平台

数据中台 SLA 数据监控 企业号 4 月 PK 榜

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