Spring Security Java 配置预览:OAuth

工程 | Rob Winch | 2013年7月5日 | ...

这是我的部分博客系列中的第四篇,该系列介绍了 Spring Security Java 配置。在这篇文章中,我们将通过 Spring Security OAuth Java 配置支持来讨论如何扩展 Spring Security Java 配置。

概念验证

虽然 Spring Security Java 配置对于非常基础的配置来说运行良好,但这只是一个概念验证。我们尚未确保 XML 命名空间中提供的所有功能都在其 Java 配置支持中存在。确保 Spring Security 的 Java 配置能够工作非常重要……

Spring Security Java 配置预览:方法安全

工程 | Rob Winch | 2013年7月4日 | ...

更新

用户应参考包含最新信息的Spring Security 参考手册

原始博客文章

这是四部分博客系列的第三篇。在我的第一篇文章中,我介绍了 Spring Security Java 配置并讨论了该项目的一些组织工作。在我之前的文章中,我们通过几个示例来配置基于 Web 的安全性。

在这篇文章中,我将讨论如何使用 Spring Security Java 配置来配置基于方法的安全性。与我们之前的文章一样,我们将从一个非常基础的示例开始,然后跟进一个示例……

Spring 本周回顾 - 2013年7月2日

工程 | Josh Long | 2013年7月3日 | ...

欢迎阅读最新一期的 Spring 本周回顾!照例,我们有很多内容要介绍,让我们开始吧!

  1. Spring 和 Cloud Foundry 专家 Jennifer Hickey 宣布 Spring Data Redis 1.1 M1 和 1.0.5 版本已发布。快去看看吧!
  2. Spring Security 负责人(兼专家)Rob Winch 宣布了 Spring Security Java 配置支持的初步可用性。Rob 刚刚也发布了一篇非常不错的文章(四篇中的第一篇),介绍了新的 Spring Security Java 配置支持。第一篇文章讨论了在哪里可以找到新的 Spring Security Java 配置支持
  3. 欢迎参加7月18日的网络研讨会,主题是“没有 Lambdas 的函数式编程”,它介绍了如何在当前(而不是等待 Java 8!)使用 Guava、LambaJ 和 Functional Java 进行函数式编程的方法。
  4. Corby Page 写了一篇非常不错的文章,介绍了如何通过他的项目 Yoga 扩展 REST API 的能力。特别是,它支持一种称为 selector 的功能,可用于提取 REST 响应的子视图以发送回客户端。这也可用于支持 Lez Hazelwood 恰当地描述的 实体展开
  5. Crunchify 博客上有一篇不错的文章,介绍了如何使用 Spring MVC 上传多个文件
  6. SpringSource 已将一门新的核心 Spring 在线直播课程添加到九月的课程表中。
  7. Spring LDAP 项目已经转向社交化,并迁移到了GitHub
  8. 我们的朋友丁学丰(你可能记得他曾帮助撰写了博客“Spring 在中国的规模 - 阿里巴巴集团、支付宝、淘宝和天猫”)最近刚刚做了一个非常棒的关于使用 Spring 构建 REST API 的演示。我认为他的幻灯片很酷,所以去看看吧!
  9. Sergey Shcherbakov 最近做了一个精彩的演讲,介绍了一系列酷炫的东西。我认为他的示例代码特别值得一看。代码包含了 Spring 4 WebSockets、无 XML 的 Spring Batch、Reactor 和 AngularJS 示例。干得漂亮,Sergey!
  10. Johnathan Mark Smith 写了一篇不错的博客,介绍了如何将 Spring Data 与 MongoDB 结合使用。干得漂亮!
  11. Nicolas Frankel 写了一篇非常不错的文章,介绍了一些引人注目的Spring 3.2 特性。干得漂亮,Nicolas!
  12. Nick Williams 提交了一个pull-request,支持使用 Java 配置与 Spring WS 的 MessageDispatcherServlet,以便可以在 ServletContextListenerServletContainerInitializer 中进行配置。干得漂亮,Nick!
  13. 这并非专门针对 Spring 或 Spring Batch,但 Technology AMIS 博客有一篇有趣的文章,介绍了如何使用 Batch JSR(它基于 Spring Batch,并与 Spring Batch 团队合作设计)构建下载管理器。(不用担心,使用 Batch JSR 不必非得用 GlassFish!)相当酷!如果你了解 Spring Batch,那么这些内容会看起来很熟悉,而且由于 Spring Batch 也将实现 JSR,这应该会为将来想使用 Spring Batch 的任何人提供一个非常好的入门途径。

Spring Security Java 配置预览:Web 安全

工程 | Rob Winch | 2013年7月3日 | ...

更新

用户应参考包含最新信息的Spring Security 参考手册

原始博客文章

在我的上一篇文章中,我介绍了 Spring Security Java 配置并讨论了项目的一些组织工作。在这篇文章中,我们将从一个非常简单的 Web 安全配置开始,然后通过一些自定义配置来增加一些趣味性。

你好,Web 安全

在本节中,我们将介绍基于 Web 的安全性的最基本配置。它可以分解为四个步骤:

Spring Security Java 配置预览:介绍

工程 | Rob Winch | 2013年7月2日 | ...

昨天我宣布了发布 Spring Security Java Configuration 支持和包含 Java Configuration 支持的发布 Spring Security 3.2.0.M2

Spring Security 的 Java Configuration 支持旨在完全取代XML 命名空间配置。它也被设计为可扩展的,以便 Spring Security 的扩展项目可以与 Java Configuration 支持良好地协作。

在这个部分 Spring Security Java Configuration 博客系列的第一篇文章中,我讨论了 Spring Security Java Configuration 项目的组织工作。

[callout title="所需版本"]无论您决定如何集成 Spring Security,务必确保您使用的是 Spring 3.2.3.RELEASE+,以避免 SPR-10546。[/callout]

可用性

在我们开始之前,我想谈谈可以找到 Spring Security 的 Java Configuration 的两个模块。

在 Spring Security 3.2.0.M2+ 中的可用性

Spring Security Java Configuration 已被复制到 Spring Security 3.2.0.M2+ 的代码库中。这意味着如果您使用 Spring Security 3.2.0.M2+,应确保 classpath 中包含 spring-security-config jar。例如,您可能有以下内容……

Spring 本周回顾 - 2013年6月25日

工程 | Josh Long | 2013年6月26日 | ...

欢迎回到最新一期的 Spring 本周回顾。照例,我们有很多内容要介绍。特别是,你会注意到本周的汇总文章包含了大量出色的 Spring Batch 内容。所以,让我们开始吧 -- 别忘了 SpringOne2GX 的早鸟票价将于8月9日截止!

  1. 几周前,我举办了一个网络研讨会,介绍了如何使用 Spring 丰富的 REST 技术栈构建 REST API,很高兴地告诉大家,这次演讲——通过一个简单的示例应用介绍了 Spring MVC、Spring HATEOAS、Spring REST Shell、Spring Data REST、Spring Security OAuth 和 Spring Social——现已在 SpringSourceDev YouTube 频道上提供。正如我上周提到的,幻灯片可在我的 SlideShare.net 页面上找到,代码可在我的 GitHub 页面上找到。请欣赏,如有反馈/问题,请随时发送至 josh(dot)long(at)SpringSource(dot)com
  2. InfoQ 发布了一篇很棒的文章,介绍了JSR 352,Java 批处理规范。如果你是 Spring Batch 用户,那么这些内容会看起来非常熟悉!我认为这是一个特别好的 JSR,并鼓励你查看一下。Spring
  3. Chris Schaefer 为 DZone 编写了一份精彩的 Spring Batch 速查卡,昨天刚刚发布,快去 DZone 免费下载吧。
  4. Craig Walls 宣布 Spring Social Facebook 1.0.3 现已发布。新版本解决了即将到来的 Facebook API 修订版中的重大变更。
  5. Gary Russell 宣布 Spring AMQP 1.2.0 发布候选版现已可用。新版本包含许多改进和 bug 修复。
  6. Johnathan Mark Smith 又来啦,这次带来了一篇关于使用 RESTTemplate 将数据发送到 Web 服务的博客。干得漂亮,Jonathan!
  7. 本周 SpringSource 在旧金山提供了一个为期四天的 Groovy & Grails 课程,请在此查看详情
  8. 我们的朋友 Tobias Flohre 又来了,带来了他介绍 Spring Batch Java 配置系列的第四部分。
  9. Leleu Jérôme 发布了一个 Spring Security Pac4J 客户端。它支持 OAuth(包含提供者)、OpenID、CAS 和 HTTP。
  10. 你是 Spring Champion 吗?参加活动即有机会赢取免费的 SpringOne2GX 2013 门票
  11. Vamsi Kancharla 用 Spring MVC 搭建了一个很棒的示例项目,包含了 bean 验证、错误处理(使用 @ControllerAdvice)、防范 XSS 和输入表单攻击等更多内容。快去看看吧!
  12. Kim Saabye Pedersen 写了一篇不错的文章,强调了一些关于 Spring 中 单例 的实用(且希望大家能充分理解的!)原则。
  13. 白汉思写了一篇非常不错的文章,解释了如何从Spring Tool Suite创建 Spring 项目

Spring 本周回顾 - 2013年6月18日

工程 | Josh Long | 2013年6月19日 | ...

欢迎回到最新一期的 Spring 本周回顾!多么精彩的一周!我们正迅速接近SpringOne2GX 2013之旅的最后阶段,各项准备工作正在全力进行。今年将会是令人难忘的。我希望能告诉你更多,但请相信我,你今年一定要参加这个展会!:)

言归正传,让我们开始本周的汇总吧!

  1. Mark Pollack 宣布发布了 Spring XD 1.0 里程碑 1。Spring XD 是一个统一、分布式且可扩展的系统,用于数据摄入、实时分析、批处理和数据导出。该项目的目标是简化大数据应用的开发。
  2. 欢迎在6月27日参加来自 Liberty 大学 的 Tony Erksine 主讲的网络研讨会,他将向我们讲解如何谈论 Spring 并影响他人,这是一堂实用的软技能和技术采用策略课,旨在帮助公司里的其他人对新技术感到兴奋并使用它——在这种情况下,就是 Spring。
  3. 想要一张 SpringOne 2GX 2013 的门票吗?如果你是 Spring champion,请在我们的 champions 论坛上展示你的实力并按照这些指示操作,截止日期为2013年6月21日。你可能会成为我们5位幸运获奖者之一!(如果你是 Groovy & GrailsCloud Foundry champion,别担心,我们将来会推出适合你的比赛!)
  4. 前往 gopivotal.com 查看 Hadoop 101 系列的下一篇博客 -- 如何将 Spring Batch 与 Spring for Apache Hadoop 结合使用
  5. 我们很高兴与 Manning Publications 合作推出 A Week of Spring 活动。请查看这篇文章,了解涵盖 SpringSource 技术的图书的超值折扣信息!我们每天都会发布一个针对两本书的新的50%折扣码。
  6. 我们的朋友 Tobias Fiohre 又来了,这次带来了不是一篇,不是两篇,而是三篇关于 Spring Batch Java 配置支持的文章,这些支持刚刚在最新的 Spring Batch 2.2.0.RELEASE 版本中发布。第一篇文章探讨了Spring Batch 的 Java 配置支持与 XML 对应配置的对比。第二篇文章探讨了 Spring Batch 的 StepScope,它允许您配置运行时提供参数的 job(而不是设计时提供参数)。第三篇文章探讨了如何将新的配置样式与Spring 的环境配置文件功能结合使用。
  7. Johnathan Mark Smith 写了一篇关于如何使用 Spring MVC 和 Spring MVC Test 的文章
  8. Xavier Padró 写了一篇不错的文章,介绍了 Spring 的核心面向切面编程支持。
  9. Broadleaf Commerce 项目关于从 GWT 迁移到 Spring MVC 的网络研讨会视频回放现已在我们的 SpringSourceDev YouTube 频道上提供。
  10. 这并非严格与 Spring 相关,但我认为值得一提:Java 9 计划放弃对编译 Java 1.4 或更早版本源代码的支持。Java 8 正在临近(终于!),Spring 4 将为 Java 8 lambda 提供一流支持。Java 6 已于2013年2月停止支持,所以如果你还没有升级到 Java 7,考虑在明年初 Java 8 发布时直接跳到 Java 8。如果你现在正在迁移,至少要考虑使用 Java 7。当然,Spring 与较旧的 JDK 版本配合良好,但如果新语言版本可用,我们通常会提供特定于它们的功能。例如,当 Java 5 使注解(如 @Transactional)成为可能时,我们首次引入了它们,作为对当时主要支持 commons 注解的补充,即使我们同时支持 Java 1.3 和 1.4。Java 8 也不例外。
  11. 上周我举办了一个关于使用 Spring 构建 REST API 的网络研讨会。研讨会视频很快将在我们的 SpringSource Developer YouTube 频道上发布。对于许多人提出的问题,代码可以在我的 GitHub 账户上找到,幻灯片可以在我的 SlideShare 账户上找到。去看看吧!
  12. Petri Kainulainen 写了一篇非常详细、易于阅读的文章,介绍了如何在配置 @Scheduled 注解的 CRON 表达式时,从属性文件中插入属性。

Spring XD 1.0 里程碑 1 发布

工程 | Mark Pollack | 2013年6月12日 | ...

今天我们很高兴宣布 Spring XD 1.0 M1 版本(下载)发布。Spring XD 是一个统一、分布式且可扩展的系统,用于数据摄入、实时分析、批处理和数据导出。 该项目的目标是简化大数据应用的开发。

从万米高空俯瞰,大数据应用与企业集成和批处理应用有很多共同的特点。 Spring 通过 Spring Integration 和 Spring Batch 项目,在构建集成和批处理应用方面提供了超过6年的成熟解决方案。 Spring XD 在此基础上构建,提供了一个轻量级运行时环境,可以通过简单的 DSL 轻松配置和组装。

在本博客中,我们将介绍 Spring XD 的关键组件,即 Streams、Jobs、Taps、Analytics 以及用于声明它们的 DSL,同时也会介绍运行时架构。 更多详细信息可以在XD 指南中找到。

流 (Streams)

流 (Stream) 定义了数据如何收集、处理、存储或转发。 例如,一个流可以收集 syslog 数据,对其进行过滤,然后将其存储在 HDFS 中。 Spring XD 提供了一种 DSL 来定义流。 DSL 允许您使用 UNIX 管道和过滤器语法构建简单的线性处理流程,但也允许您使用扩展语法描述更复杂的流程。

源 (Sources) 和汇 (Sinks)

一个简单的线性流由以下序列组成:输入源 (Input Source),(可选)处理步骤 (Processing Steps),以及输出汇 (Output Sink)。 举一个简单的例子,考虑从 HTTP 源收集数据并写入文件汇。描述此流的 DSL 如下:
http | file

您可以通过向默认运行在端口 8080 的 XD Admin Server 发送 HTTP 请求来告诉 Spring XD 创建一个流。 在 M2 版本中,我们将提供一个交互式 shell 来与 XD 进行通信,但在 M1 版本中,与 XD 交互的最简单方式是使用 ‘curl’。

curl -d "http | file" http://localhost:8080/streams/httptest

流的名称是 httptest,默认监听的 HTTP 端口是 9000,默认文件位置是 /tmp/xd/output/${streamname}

如果您使用 curl 向端口 9000 发送一些数据
curl -d "hello world" http://localhost:9000

您将在文件 /tmp/xd/output/httptest 中看到字符串 hello world

要更改默认值,您可以传入选项参数

http --port=9090 | file --dir=/var/streams --name=data.txt

M1 版本中支持的源包括 file, time, HTTP, Tail, Twitter Search, Gemfire (Continuous Queries), Gemfire (Cache Event), Syslog 和 TCP。 支持的汇包括 Log, File, HDFS…

Spring 本周回顾 - 2013年6月11日

工程 | Josh Long | 2013年6月11日 | ...

大家好,欢迎阅读最新一期的 Spring 本周回顾!本周我在纽约州纽约市,与 NYC Java Meetup 和 ScalaDays 的开发者们交流 Spring。本月我们有很多网络研讨会,请务必查看下方详情!

  1. 想要一张SpringOne 2GX 2013 的门票吗?如果你是 Spring champion,请在我们的 champions 论坛上展示你的实力并按照这些指示操作,截止日期为2013年6月21日。你可能会成为我们5位幸运获奖者之一!(如果你是 Groovy & GrailsCloud Foundry champion,别担心,我们将来会推出适合你的比赛!)
  2. Oliver Gierke 宣布发布 Spring Data Babbage,这是下一个 Spring Data 发布火车 (release train) 的第一个里程碑版本。此版本包含大量新特性,所以务必查看发行说明
  3. Spring Batch 2.2.0 现已发布!这是一个重要版本,除了许多其他特性外,还支持 Spring Data、Java Configuration、AMQP 和 SQLFire。Spring Batch 以及我们参与专家组极大地影响了最近定稿的 JSR-352 规范
  4. 基于 Eclipse Kepler 4.3 的Spring Tool Suite 和 Groovy / Grails Tool Suite 3.3.0 M2 已发布。此里程碑版本改进了 Java Configuration 支持,并已为 Spring Framework 4 做好准备。
  5. Craig Walls 宣布Spring Social Twitter 1.0.5 和 Spring Social 1.0.3 已发布!新版本修复了一些 bug,并为了应对 Twitter API 1.0 版本的废弃而发布。
  6. Gary Russell 还宣布了 Spring Integration 2.2.4 和 2.1.6 维护版本,以包含上述提到的 Spring Social Twitter 更新。
  7. 我将在周四举办一个关于使用 Spring 设计 RESTful 服务的网络研讨会。照例,将有两个场次 - 一个是格林威治标准时间下午3点,另一个是太平洋标准时间上午10点 - 以适应尽可能多的时区。研讨会将介绍 Spring 用于构建 RESTful 服务的技术栈。我们将从一个简单的 API 开始,然后逐步完善 API,介绍使用 Spring HATEOAS 的超媒体控件,使用 Spring Data REST 的基于约定的 repository-based API,使用 Spring Security OAuth 和 Spring Social 的安全性,以及处理文件上传、异常处理、记录分页和 Ajax 等常见情况。期待在那里见到您!
  8. 不要错过 Jon Brisbin 在2013年6月18日的演讲,他将介绍介绍 Reactor - 一个用于 JVM 异步应用的框架。 Reactor 为那些在执行合理大小的无状态、异步处理时需要高吞吐量的应用提供了基础框架。
  9. 欢迎在6月27日参加来自 Liberty 大学 的 Tony Erksine 主讲的网络研讨会,他将向我们讲解如何谈论 Spring 并影响他人,这是一堂实用的软技能和技术采用策略课,旨在帮助公司里的其他开发者对新技术感到兴奋并使用它——在这种情况下,就是 Spring。
  10. 我在三月份精彩的 DevNexus 会议上做了一个关于Spring 3.1、3.2 和 4.0 最新进展的演讲,现在该演讲已在 InfoQ 上在线提供。请务必查看这个演讲,同时也请务必查看我在 JAXConf 演讲中使用的更最新版本的幻灯片,它可以在我的 SlideShare 账户上找到
  11. 前往Pivotal 博客,阅读 Hadoop 编程入门短文,它将带您了解一个简单的单词计数程序。示例介绍了经典的单词计数问题,然后探讨了生态系统中的其他解决方案,如 Pig、Hive 和 Cascading。本系列的下一篇博客将向初学者介绍 Spring for Apache Hadoop,为本文讨论的四种不同方法提供一种统一、一致的替代方案。
  12. 相关新闻是,如果您在纽约市地区,欢迎在周三晚上参加我在 10gen 办公室为 NYCJava 聚会举办的同一场演讲,地点在这里。再次感谢 MongoDB 的公司 10gen 主办此次聚会。
  13. JavaBeat 博客上有一篇不错的文章,介绍了如何使用 Spring 强大的多部分文件上传支持。Spring 的支持抽象了常见的文件上传 API——包括 commons-fileupload API 和 Servlet 3 API——并允许您将这些 API 用于 HTTP 多部分编码的文件上传,通常在 Web 应用或 REST 服务中。绝对值得一读,快去看看吧!
  14. Idan Fridman 整理了一篇关于Spring Integration 中一些常见组件类型的概览,包括 splittertransformeraggregator 等等。
  15. 对于那些希望将 Spring 技能提升到更高水平的开发者,SpringSource 刚刚发布了2013年7月 Spring 专业培训日程
  16. Spring tutorials 博客上有一篇很棒的文章,介绍了 Spring 的 @Async@Scheduled 注解

Spring Data 发布火车 Babbage 第一个里程碑版本抵达

工程 | Oliver Drotbohm | 2013年6月10日 | ...

我很高兴宣布名为Babbage的 Spring Data 发布火车的第一个服务里程碑版本。它包含以下模块:

第一个里程碑版本包含相当多的新特性,以及已在Arora 的服务版本中发布的所有 bug 修复。

快速浏览此版本

此版本的大部分变更已融入 Spring Data Commons,为下一代 Spring Data 项目构建坚实的基础,并确保该基础快速成熟。此发布列车中的其他模块已适应这些变更,因此也从中受益。

我们已升级到 Querydsl 3.x API,以适应其主要版本中引入的变更。仓库抽象已添加了对忽略大小写的排序支持,以及用于派生查询的 count…By…(…) 投影…

订阅 Spring 新闻通讯

订阅 Spring 新闻通讯,保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 通过一个简单的订阅即可为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

近期活动

查看 Spring 社区的所有近期活动。

查看全部