跨站请求伪造 (Cross Site Request Forgery) 和 OAuth2

工程 | Dave Syer | 2011 年 11 月 30 日 | ...

在这篇短文中,我们在 OAuth2 的背景下探讨了跨站请求伪造 (Cross Site Request Forgery),研究了可能的攻击以及在使用 OAuth2 保护 Web 资源时如何应对这些攻击。

OAuth2 是一种协议,允许客户端应用程序(通常是 Web 应用程序)代表用户行事,但需要获得用户的许可。客户端被允许执行的操作在资源服务器(另一个 Web 应用程序或 Web 服务)上执行,用户通过告知授权服务器他信任客户端来执行其请求的操作来批准这些操作。互联网上常见的授权服务器示例包括 FacebookGoogle,两者也都提供资源服务器(例如 Facebook 的 Graph API…)

Spring Roo 1.2.0.RC1 发布

工程 | Alan Stewart | 2011 年 11 月 24 日 | ...

Spring Roo 团队很高兴宣布 1.2.0 Release Candidate 1 版本可用。Roo 1.2.0.RC1 版本紧随 M1 之后发布,包含两项令人激动的新功能

  • 多模块 Maven 项目支持。这是 Roo 社区中最受欢迎和投票最多的功能 (ROO-120)。现在,您可以创建带有父 POM 和任意数量项目模块的项目。例如,您可以将领域模型放在一个模块中,并将 UI 代码(如 MVC 或 GWT)分离到它们自己的模块中。  此功能的完整文档将在 Roo 1.2.0 的正式发布版本中提供,该版本预计将于今年晚些时候发布。
  • JSF 2.0/PrimeFaces 3. 这是社区第二受欢迎并在近期 Roo 调查中被提及最多的功能 - JSF 2.0/PrimeFaces 支持 (ROO-516)。现在,您可以利用 PrimeFaces 3.0 组件库中精美的组件来搭建高质量的 JSF 应用程序。支持完整的代码往返、在 JSF 2.0 实现(Oracle Mojarra 或 Apache MyFaces)之间切换,以及通过 Roo 命令选择 PrimeFaces 主题。

我们还增强了 Roo 的注解,为您配置持久层提供了更大的灵活性

  • 不再需要在领域对象中包含“Active Record”模式的持久化代码。新的 @RooJpaEntity 注解确保只由 Roo 创建和维护 @Entity、@Id 和 @Version 字段及方法,不包含 CRUD 方法。使用 @RooJpaEntity 注解的类旨在与 Roo 的 JPA 仓库和服务分层功能一起使用。
  • 旧的 @RooEntity 注解已重命名为 @RooJpaActiveRecord,并且在创建实体时仍然是默认选项,将引入与之前相同的 CRUD 方法。
  • 在现有 Roo 项目中使用 RC1?很简单,只需将您的 @RooEntity 注解重命名为 @RooJpaActiveRecord,并在 STS 或 Eclipse 中使用组织导入功能来解决导入问题。
请记住这是一个候选发布版本,因此生产项目应继续使用 Roo 1.1.5。但是,我们鼓励您测试这个新版本,因为我们希望尽快将 1.2.0.RELEASE 版本提供给您。

我们希望您喜欢这个新版本。请通过社区论坛分享您的经验,关注 @SpringRoo 获取最新消息,或在您的推文中使用 #springroo

Alan Stewart,项目负责人 - Spring Roo

Spring 本周回顾,2011 年 11 月 22 日

工程 | Josh Long | 2011 年 11 月 23 日 | ...

欢迎回到新一期的《Spring 本周回顾》。对于我们身在美国的人来说,感恩节假期即将来临。

通常,感恩节(在许多其他国家也有类似的节日)背后的理念是留出一天时间来反思我们感恩的事情。

本着这种精神,让我表达一件我感恩的事情:谢谢你们,亲爱的读者们,感谢你们成为最棒社区的一份子。结合你们正在做的所有精彩事情和 SpringSource 正在发生的所有精彩事情,每周整理这份回顾绝对是一件令人愉快的事情。我们…

将 Cloud Foundry 服务与 Spring 结合使用:第四部分 – Spring Profiles

工程 | Scott Andrews | 2011 年 11 月 10 日 | ...

Spring 3.1 为环境添加了重要的新支持。这个新的 Environment API 使向应用程序公开属性或有条件地加载部分配置变得容易。

在本系列之前的文章中,Ramnivas 展示了 Cloud Foundry 如何在无需手动配置的情况下自动连接到数据库。当您需要对这个过程进行更多控制时,例如连接到多个数据库,cloud 命名空间将 DataSource 的配置浓缩为仅仅一行 XML。cloud 命名空间功能强大,但它仅支持在 Cloud… 中运行的应用程序

Spring 本周回顾,2011 年 11 月 8 日

工程 | Josh Long | 2011 年 11 月 9 日 | ...

Spring 社区又度过了精彩的一周。各位能相信现在已经是 11 月 8 日了吗?时间都去哪儿了

If you blink, we'll be in 2012 already! 
No time to waste - the year might change out from underneath us! - let's dive right into this week's roundup!

  1. Cloud Foundry 项目的高级工程师 Ramnivas Laddad,也是像我一样喜欢在 Spring 应用中使用 AspectJ 的全球英雄,写了一篇精彩的文章,重点介绍了 Cloud Foundry 中对服务(如 MySQL、PostgreSQL 和 RabbitMQ)的特殊支持。这是本系列的第二篇文章。阅读第一篇以了解 Cloud Foundry 上服务的基础知识。这些是细节丰富的精彩文章。
  2. 接下来的这篇文章是我本周读到让我会心一笑的文章之一。几周前,Roy Clarkson 和我在 SpringOne 2GX 上做了一个关于使用 Spring 进行原生 Android 开发实践的演讲。我们在演讲前一天晚上坐下来过了一遍幻灯片和演示,结果才意识到——自所有东西最初准备好以来的这段时间里,为了让 Eclipse (SpringSource Tool Suite)、Maven 和 Android 能够相互“交流”并正常工作所需的复杂配置网络已经被… 扰乱了。我们用非 Maven 构建成功完成了演讲,但这仍然让我们很不爽,因为我们不得不切换到常规的 Eclipse 构建才能继续演讲。Roy,一如既往地勇敢无畏,后来找出了让这一切再次正常工作所需的正确配置组合——而且他很大方地在 这篇博客中记录了所有内容。去看看吧!(我知道我看过了!)
  3. Tomcat Expert 上还有一篇关于 使用 Apache Tomcat 7 进行管理和开发的实用专栏。文章解释了如何在 Apache Tomcat 7 的默认安全配置基础上更进一步,并提供了一些可用配置选项的背景信息。
    </LI> 
    
    
    
    <LI> Roger Hughes <a href="http://java.dzone.com/articles/using-jsr-250s-postconstruct">introduces how to use JSR 250's <CODE>@PostConstruct</CODE> and <CODE>@PreDestroy</CODE> annotations</A> to replace the use of the corresponding Spring  callback interfaces, <CODE>InitializingBean</CODE> and <CODE>DisposableBean</CODE>.   </LI> 
    
    <LI>Michal Huniewicz explains <a href= "http://blog.m1key.me/2011/10/wizard-form-with-spring-mvc…

将 Cloud Foundry 服务与 Spring 结合使用:第三部分 - <cloud> 命名空间

工程 | Thomas Risberg | 2011 年 11 月 9 日 | ...

我们在上一篇博文 将 Cloud Foundry 服务与 Spring 结合使用:第二部分 - 自动重新配置 中看到,当您部署 Spring 应用程序时,您的数据服务使用将被检测到,并且您的应用程序将自动重新配置以使用可用的云服务。这对于简单的应用程序和演示来说效果很好,但如果您有一个重要的生产应用程序,您可能希望拥有更多的控制权。如果您有多个同类型的服务,您也需要更多的控制权。Ramnivas 暗示了这一点,称您可以通过… 选择退出自动重新配置

更新了对 Android 项目的 Maven 支持

工程 | Roy Clarkson | 2011 年 11 月 7 日 | ...

自从我最初关于使用 Maven 和 Spring Android 的博文以来已经有一段时间了,工具的状态也发生了一些变化。随着最近发布的 Android 4.0 SDKAndroid 开发工具 (ADT) 修订版 14,Google 进行了一些变更,这些变更影响了第三方 Maven 插件对构建 Android 项目的支持。幸运的是,Android Maven PluginAndroid Configurator for M2E 背后的团队一直在努力工作以支持 Android 工具的最新变化。如果您最近尝试运行 Spring Android Samples,那么您可能注意到了项目无法构建。在这篇文章中,我将说明在 Spring Android Showcase 项目中利用最新的 Maven 插件和 Eclipse 支持所需的配置更改。

Android Maven Plugin

自版本 3.0.0-alpha-11 起,Maven Android Plugin 有了一个新名称,现在称为 Android Maven Plugin。最新版本 3.0.0-alpha-13 修复了使用 Android SDK r14 时的构建问题。

更新插件

要更新您的插件版本,请对 artifactId 和 version 进行如下更改。


<plugin>
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
    <artifactId>android-maven-plugin</artifactId>
    <version>3.0.0-alpha-13</version>
    <configuration>
        <sdk>
            <platform>${android-platform}</platform>
        </sdk>
        <deleteConflictingFiles>true</deleteConflictingFiles>
        <undeployBeforeDeploy>true</undeployBeforeDeploy>
    </configuration>
    <extensions>true</extensions>
</plugin>

修改完成后,您现在可以从命令行运行 maven 来构建您的项目。

mvn clean install

潜在的构建错误

当您尝试使用新插件构建时,您的项目可能会收到一些构建错误。

java.lang.OutOfMemoryError

当我更新 Spring Android Showcase 客户端时,构建失败并出现以下错误:

[INFO] UNEXPECTED TOP-LEVEL ERROR:
[INFO] java.lang.OutOfMemoryError: Java heap space
[INFO] 	at com.android.dx.ssa…

将 Cloud Foundry 服务与 Spring 结合使用:第二部分 - 自动重新配置

工程 | Ramnivas Laddad | 2011 年 11 月 4 日 | ...

如果您观看了 Cloud Foundry 发布会视频,您会看到我们部署了从 Spring Web Flow 示例下载的 Spring Travel 应用程序,将 MySQL 服务绑定到它,并将应用程序拖放到 STS 中的 Cloud Foundry 服务器,而无需对应用程序本身进行任何一行修改。这怎么可能呢?因为应用程序是配置为使用本地数据库的。这就是自动重新配置发挥作用的时候了。

Cloud Foundry 致力于降低您的初始投入。除了金钱之外,真正的投入来自于开发人员花费的时间…

Spring 本周回顾:2011 年 11 月 1 日

工程 | Adam Fitzgerald | 2011 年 11 月 2 日 | ...

哇!上周的 SpringOne 2GX 活动太棒了。那是一段美妙的时光,而且——像往常一样——很高兴看到 Spring 社区如此强大。我迫不及待地想看到活动视频开始出现在 InfoQ.com 上。

We've got a lot to cover this week, though, so let's get into it!
 </P> 
    <Li> 
    

    别告诉任何人,但即使您错过了 SpringOne 2GX,所有演讲的幻灯片应该都在 SpringOne2GX.com 上,所有演讲的视频也很快就会在 InfoQ.com 上发布。

    为了让您短期内有所期待,SpringSource 首席技术官 Adrian Colyer 的主题演讲幻灯片 - “Spring 的昨天、今天和明天” - 已在线提供。谢谢 Adrian!

     <LI>
     One of the many big announcements that came from the SpringOne2GX event was	 that of <a href= "http://neo4j.org/spring/">Neo4j 2.0</a>. 
            If you're…

Spring 本周回顾,2011 年 10 月 18 日

工程 | Josh Long | 2011 年 10 月 19 日 | ...

多么精彩的一周!如果您是一位企业级 Java 开发者,那么您肯定已经听说了这个消息——Spring 3.1 RC1 刚刚发布了!继续阅读了解更多详情,如果您有任何问题或反馈,请务必在论坛上畅所欲言!

当然,如果您下周参加 SpringOne2GX 2011,您可以期待听到关于 Spring 3.1 以及所有 Spring 技术最新进展的很多信息。我们期待在那里见到大家!

 </P>  

  
  1. Spring 3.1.0.RC1 已于上周发布!向 Spring 3.1 GA 的进军就这样开始了。Chris Beams 通过这篇公告拉开了序幕。随后,Spring 项目负责人 Juergen Hoeller 在这篇详细介绍新功能的博文中进行了跟进。Spring 3.1 的第一个发布候选版本现在可以从 Spring 里程碑仓库或通过社区下载页面直接下载。此版本包含以下新功能:
    Support for Hibernate 4.0 (up to date with 4.0 CR4), 
    Complete <CODE>TestContext</CODE> framework support for <CODE>@Configuration</CODE> classes,
    Flash scope for Spring MVC, 
    Support for Quartz 2.0,  
    77 bug fixes, 16 new features, and 66 improvements. Wow! To learn more about what's new in Spring 3.1, be sure to <a href="http://static.springsource.org/spring/docs/3.1.0.RC1/spring-framework-reference/html/new-in-3.1.html">check out this document.</a>
     </LI> 
      <LI> 
      Martin Lippert today announced the <a  href="http://www.springsource.org/node/3287">release of SpringSource…

获取 Spring 邮件列表

订阅 Spring 邮件列表,保持联系

订阅

领先一步

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

了解更多

获取支持

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

了解更多

近期活动

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

查看全部