实战Spring Security 3.x:快速构建企业级安全

为了在软件产品中启用Java EE 容器安全性,我们往往要付出很大代价,因为Java EE 容器内置的安全性支持存在诸多重大缺点,尤其是它的可移植性、企业级能力差、难于展开各类集成测试工作等缺陷,很多企业应用因为这些问题而转向了Spring Security。

过去的多年中,基于Spring 的Spring Security 博得了企业用户的欢心。无论是在其内部架构,还是功能方面,它都照顾到多方面的利益,几乎可以用“艺术美”形容它。
从内部架构看,采纳Spring 及基于它的架构能够很大程度解决企业应用的可移植性问题。事实上,Spring Security 确实是基于Spring 架构的,同一Spring Security 使能应用可以部署到任意Java EE 容器中。这一点在如今苛刻的企业部署环境显得格外重要。值得注意的是,基于Spring Security 研发的企业应用能够顺利进行各种集成测试工作,包括CI 工作的开展。

从功能上看,Spring Security 尽可能不重复发明轮子。在很多场合,它尽量集成现有的、业界领先的安全性解决方案,比如JA-SIG CAS、OpenID、Kerberos。如果某些企业级特性非常重要,而又没有现成的做法,则它会基于开放标准(或事实上的标准)提供它们,比如领域对象授权。

在一定场合,某些企业应用可能需要扩展Spring Security。它也是欢迎的,毕竟开放架构、开源协同工作等是开源项目最基本的行为。因此,我们没有理由不选择Spring Security 去实施、加强企业应用的安全性。

自从 Spring Security(Acegi)诞生的那天起,我们便开始采纳它,各种软件产品、企业应用中都有它的身影。我们希望过去积累的Spring Security 经验、教训能够积累下来,并跟进持续发展的最新版Spring Security,便萌发了此书的写作计划。虽然本书的主题是围绕Spring Security 展开的,但我们更希望它是一本指导企业用户(包括开发者)如何实施企业级安全不可或缺的重要图书。