Luke Taylor
使用 Scala 配置 Spring Security
在之前的一篇文章《Spring Security Namespace 的幕后》中,我谈到了 Spring Security namespace 在提供 Spring Bean 普通配置的简单替代方案方面非常成功,但当你想要开始定制其行为时,学习曲线仍然很陡峭。在 XML 元素和属性背后,各种过滤器和辅助策略被创建并连接在一起,但是,除非阅读处理 XML 解析的代码,否则很难弄清楚涉及哪些类以及它们如何交互的细节。
一段时间以来,我们一直在尝试提出一种基于 Java 的替代解决方案,使用Spring 的 @Configuration
类,这种方案既保留了 XML namespace 的简洁性,又使得底层行为更加透明且易于定制。尽管理论上可能,但似乎没有基于 Java 的解决方案能够满足...
Spring Security 3.1.0.RC2 发布
Spring Security 3.1.0.RC1 发布
Spring Security 3.1.0.M2 发布
Spring Security 3.0.5 发布
Spring Security 2.0.6 和 3.0.4 发布
我们很高兴地宣布 Spring Security 3.0.4 版本发布。
此版本提供了对漏洞CVE-2010-3700 的修复。此外还为尚未升级到 Spring Security 3 的用户提供了 2.0.6 版本。
完整的已解决问题列表请参阅变更日志。
这两个版本均可从Spring 社区下载区以及 Maven 中央仓库获取。
在 Google App Engine 中使用 Spring Security
Spring Security 以高度可定制而闻名,因此在我第一次尝试使用 Google App Engine 时,我决定创建一个简单的应用程序,通过实现一些核心 Spring Security 接口来探索 GAE 特性的使用。在本文中,我们将了解如何做到以下几点:
- 使用 Google 账户进行身份验证。
- 当用户访问受保护资源时,实现“按需”身份验证。
- 用应用程序特定的角色补充 Google 账户信息。
- 使用原生 API 将用户账户数据存储在 App Engine 数据存储区中。
- 根据分配给用户的角色设置访问控制限制。
- 禁用特定用户的账户以阻止访问。
您应该已经熟悉如何将应用程序部署到 GAE。启动并运行一个基础应用程序无需太多时间,您可以在GAE 网站上找到许多相关指导。
示例应用
该应用程序非常简单,使用 Spring MVC 构建。应用程序根目录部署了一个欢迎页面,您可以进入“主页”,但前提是先进行身份验证并在应用程序中注册。您可以在这里试用部署在 GAE 中的版本。注册用户作为 GAE 数据存储实体进行存储。首次进行身份验证时,新用户会被重定向到...
Spring Security 3.0.3 发布
Spring Security Namespace 的幕后
随着 Spring Security 2 中安全 schema 的引入,构建和运行一个简单的安全应用程序变得容易得多。在旧版本中,用户必须单独声明和连接所有实现 bean,这导致 Spring 应用程序上下文文件庞大而复杂,难以理解和维护。学习曲线相当陡峭,我还记得在 2004 年刚开始参与该项目(当时的 Acegi Security)时,花了一些时间才完全理解。从积极的一面来看,这种对基础知识的接触...