敏捷Acegi、CAS--构建安全的Java系统
基本信息
编辑推荐
零距离接触源于Spring血统的Acegi,揭露CAS单点登录服务器的使用方法及内容架构,深入到Acegi、CAS SSO源码中,全面跟进Acegi、CAS、Java EE安全性编程模型的最新技术。
凝聚Java魅力,成就开发专家!
看清JQvQ万花筒的本霞,从复杂的表象中寻我普遍的规律,深刻理解Java的核心思想。
■关于Acegi(Spring Security)、CAS的权威教程,是Java/Java EE安全性开发者、架构师必备的参考书
■深入到Acegi、CAS的源码当中,以获得一手的Java EE安全性知识。通过这些源码,开发者能够了解到解决Java EE安全性编程模型中现存各种缺陷的方法
■本书全面拥抱了Java EE安全性编程模型、Acegi、CAS的方方面面
■力图将Acegi提供的、一流的用户认证支持活生生地展现在开发者面前。Acegi提供的用户认证支持涉及面非常广,从各种用户认证策略,到各种认证提供者,到各种企业级特性,到Java EE容器适配器认证,到aptcha集成支持,到JAAS集成支持,这些内容将Acegi的内心世界流露出来
■对Acegi授权支持进行了全方位论述。目前,Acegi能够保护Web资源、业务方法及领域对象。本书花费了大量篇幅研究Acegi是如何保护这些资源的
■揭露CAS 3服务器的方方面面,从它的使用,到它的内部架构。与此同时,Acegi提供了一流的CAS 3集成支持
■全书理论与实践并重,通过大量的实例帮助读者尽快掌握Acegi、CAS的使用技巧,从而提高本书的参考、阅读价值
本书实例源文件请到http://www.fecit.com.Cn“下载专区”或http://www.open-V.com进行下载。
内容简介回到顶部↑
本书适合作为java/java ee安全性开发者、系统分析师和架构师的参考书,同时,本书非常适合于高校相关专业的学生,以及对java/java ee安全性有兴趣的各类开发者。
作译者回到顶部↑
本书提供作译者介绍
其近期代表作品有:《精通EJB 3.0》、(精通Spring)、《精通Spring 2.0》。
.. << 查看详细
目录回到顶部↑
第1章 java ee应用的安全性
1.1 企业级安全
1.2 用户认证和授权
1.2.1 部署并运行contacts示例应用
1.2.2 分析contacts的java ee安全性侧面
1.2.3 启动contacts的ssl双向认证
1.2.4 有关contactsforchapter1应用的若干细节
1.3 现有java ee安全的局限性
1.4 小结
第2章 面向spring的acegi
2.1 挑战java ee安全
2.1.1 抽象的附加值
2.1.2 acegi概述
2.2 acegi提供的功能
2.3 小结
第3章 第一个实例
3.1 实例介绍
3.2 部署及运行acegifirstdemo
3.2.1 部署到tomcat中
前言回到顶部↑
它们在各自领域都摆出了领先者的姿态,而且它们的协同工作能力堪称——流。
针对用户认证,Acegi提供了HTTP BASIC、HTTP FORM、HTTP DIGEST、HTTP CLIENT-CERT认证支持;针对用户授权,Acegi提供了Web资源的授权、业务方法的授权、领域对象的授权支持。——?旦Acegi内置的用户认证支持不能够满足企业应用的需求时,开发者可以考虑采用CAS服务器。甚至,Acegi还为企业应用的开发提供了各种有利的企业级特性,比如匿名认证、Run-As认证服务、Remember-Me认证服务、退出服务、HttpSession的并发控制等。如果需要,Acegi使能应用还可以使用到Captcha集成支持,JAAS集成支持。如果希望在同一Web应用中同时启用Java EE安全性编程模型和Acegi,则Acegi内置的Java EE容器适配器能够满足这一需求。与此同时,开发者可以将用户敏感信息存储到各种存储源中,比如属性文件、XML文件、RDBMS、LDAP、X.509CA证书等。
针对单点登录需求,开发者可以启用JA-SIG CAS 3服务器,这是一个协议公开、实现源代码公开、部署方便、安全、稳定、自定义能力强的SSO解决方案。Acegi本身的基代码提供了CAS集成支持。
本书正是围绕Acegi、CAS中的上述各项内容而准备的。
本书特点
. 本书借助于敏捷的Acegi、CAS,来重点阐述JavaEE安全性涉及到的各种技术,而且,Acegi还为企业应用提供了各种企业级特性。凡是有利于企业应用的安全性技术,本书都尽量呈现。
. 尽量将Acegi最实用的、动人的一面展现给读者。JavaEE安全涉及到的知识体系非常庞大,Acegi清晰地将这一知识体系中的主要内容流露出来,这些内容体现在本书中。..
. 深入到Acegi、CAS的源码当中,以获得一手的JavaEE安全性知识。通过这些源码,开发者能够了解到它们是如何解决JavaEE安全性编程模型中现存的各种缺陷的。
. 在写作过程中,注重理论与实践知识并重。本书非常注重基础知识的阐述。与此同时,各章内容采用的示例都是单独的、自成一体的经典Eclipse项目。
. 在代码示例的选材上,力求经典、权威。
. 尽量保证书中图、表的清晰和正确性,以提升阅读体验。
. 无论是知识体系,还是写作风格,各章内容统一、自成一体,开发者阅读起来非常舒服。
. 作者尽量将自身架构和开发大型JavaEE/Acegi使能项目的经验、在从事JavaEE咨询工作期间获得的Acegi高级技巧和最佳实践体现在书中。
. JA-SIGCAS开发团队的ScottBattaglia特意为本书作序。透过这一英文序,读者能够对CAS的发展历程有非常清醒的认识。
. 不断改进图书内容。如今,图书创作是作者的主要工作内容之一,因此自身有更大的责任、更多时间完善此书。让我们共同期待第二版的出现。
全书共分为4个不同部分:Web应用安全、Acegi认证支持、Acegi授权支持、CAS 3认证支持。第1~3章构成了Web应用安全,即第1部分内容;第4~10章构成了Acegi认证支持,即第2部分内容;第11~14章构成了Acegi授权支持,即第3部分内容;第15~16章构成了CAS 3认证支持,即第4部分内容。
服务网站
针对书中展示的各种Java代码、Ant build.xml和其他脚本,我们特别提供了Web网站(http://www.open-v,com)支持。同时,为保证图书同Acegi(SpringSecurity)最新发布版的同步,我们会时常更新图书中的源代码,并公布到这一Web网站中,欢迎广大读者下载使用。
罗时飞
序言回到顶部↑
罗马,素有“永恒之城”的美称。如果将这一美称用于开源领域的Acegi、CAS身上,则一点也不为过。从JavaEE平台技术的发展、变化来看,JavaEE中安全性的使用非常混乱,各个容器厂商都以这样或那样的方式开发并架构自身的Java EE安全性基础框架,最终将它们所倡导的Java EE安全性编程模型强加在开发者身上。Acegi的出现改变了原有的、混乱的格局。同样地,迄今为止,现有的JCP组织并没有给出同单点登录相关的任何JavaEE规范。相比之下,一直以来,历史悠久、著名的CAS中央认证服务在单点登录领域占据了非常重要的地位。Acegi与CAS在一同护卫企业级应用,它们专注于JavaEE平台中的安全性技术,并提供了卓越的解决方案。.
多年前,作者所架构的许多平台技术需要同时支持各种JavaEE容器,这些平台技术几乎与特定Java EE容器无关。这些平台技术使用到大量Java EE安全性技术。当Acegi出现在作者的视野时,其优美的架构、灵活的部署策略、稳定的基代码,加上它提供了JavaEE安全性编程模型未提供的各种企业级特性等,这些特性深深地打动了作者。原生的JavaEE安全性编程模型确实不错,但是企业、开发者在实施基于这一原生模型的企业应用时,他们到处碰壁,因为各个Java EE容器采取了不同的策略和方式暴露各自的Java EE安全性编程模型。我们需要更便携地架构、开发和实施Java EE应用,这在各Java EE容器趋于同质化的今天尤为重要。正如Spring看到Java EE编程模型存在的缺陷一样,Acegi看到了JavaEE安全性编程模型所存在的各种缺陷。
便携性是优秀软件项目、技术框架必须具备的基本特质之一。当然,便携性不是Acegi的唯一卖点,这也不是作者(包括你)看重Acegi的唯一理由,正如理解和掌握各种设计模式是开发者的必修课一样。同样的Acegi使能应用能够部署到任意场合、任意Java EE容器。当便携性成为Acegi的“性格”的组成部分时,开发者便能够在各种场合一劳永逸地享受到Acegi提供的JavaEE安全性支持。开发者再也不用依据特定JavaEE容器的“脸色”行事。
Acegi能够保护Web资源、业务方法及领域对象,而标准Java EE安全性编程模型不能够保护领域对象。为借助于Acegi保护这些资源,在Acegi实现内部,大量的最佳实践被应用到其中,比如采用过滤器链和AOP拦截器链拦截客户请求、领域驱动设计的应用、策略架构模式、观察者模式等。从应用开发和Acegi的使用角度考虑,开发者只需要借助于Spring配置文件配置同Acegi相关的所有受管Bean。很显然,Acegi使能应用的测试工作能够顺利展开,因为Acegi是基于Spring架构开发而成的。甚至,在Acegi使能应用的开发期间,测试驱动开发(TDD)的实施效果非常好。敏捷的Acegi为企业应用的快速、高质量开发奠定了非常坚实的基础。
当我们借助于Acegi或其他安全性技术部署了若干企业应用时,这些应用自身都需要实现用户的认证逻辑。此时,为登录到不同的应用,用户必须提供不同的用户账号。可以看出,这时的应用认证逻辑并未得到重用,而且用户自己需要维护非常多的账号。借助于单点登录解决方案,企业、开发者能够将所有的认证逻辑委派给SSO产品,比如JA-SIGCAS服务器。..
中央认证服务(CAS)是一个著名的SSO产品,各个应用可以将用户认证请求委派给它。CAS服务器部署方便、安全、稳定,而且开发者能够轻易地自定义它,比如提供本地版本的登录界面、调整SSO认证逻辑、自定义登录流程等。各个CAS服务器都严格遵循CAS 1.0和2.0协议,这些协议定义了各个CAS服务器必须实现的语义。尤其需要特别指出的是,CAS 2.0协议引入的代理特性使得实现了CAS 2.0协议的各个CAS服务器适合于多层部署环境,这无疑拓展了CAS服务器的应用领域,比如基于SOA(面向服务架构)、ESB(企业服务总线)的企业计算环境。
无论是Acegi,还是CAS,它们收集用户凭证的策略和方式非常灵活。比如,它们都允许用户使用X.509CA客户证书作为登录凭证;它们都允许开发者采用LDAP、RDBMS等存储源存储用户信息:它们都提供了一流的JAAS集成支持;它们同时支持远程客户。Acegi同时支持HTTPBASIC、表单、Digest、CLIENT-CERT等认证机制,它甚至提供了一流的Captcha集成支持。如果需要,开发者还可以使用Acegi内置的JavaEE容器适配器,这使得Acegi与Java EE安全性编程模型能够出现在同一企业应用中。Acegi使能应用中的安全性上下文能够透明地传播到各处,看来,我们能够将Acegi应用到任何企业计算环境中。
尽管Acegi与CAS都在各自的安全性领域摆出了领先者的姿态,但它们的协同工作能力也是一流的。比如,开发者可以在CAS服务器中使用到Acegi提供的集成支持,而Acegi使能应用也可以将认证请求委派给CAS服务器,从而使得用户能够享受到单点登录的乐趣及CAS服务器带来的便利。
今天,大量基于Acegi、CAS的企业系统已经在生产环境中稳健地运行,作者有幸架构和实施了若干个这类大型系统。值得重点一提的是,即使开发者不打算在自身的应用中启用Acegi、CAS,但借助于它们去熟悉JavaEE安全性编程模型不愧是一种绝佳选择,因为熟悉Acegi、CAS的门槛并不高。在熟悉Acegi、CAS期间,开发者还能够获得保护企业应用一手的最佳实践。让我们开始奔向永恒之城。
在本书出版之际,作者要感谢出版社、读者和家人的大力支持。与此同时,作者要特别感谢Acegi开发团队中的BenAlex、JA-SIGCAS开发团队中的ScottBattaglia,没有他们的帮助,本书会减色不少。尤其是,要感谢ScottBattaglia为本书写的英文序。
JavaEE平台所建立的安全性知识体系非常庞大,而写作这样一本专门“针对JavaEE安全性架构、开发及部署,尤其是Acegi和CAS”的图书也是非常大的——个挑战。尽管作者在这一领域摸爬滚打了多年,但本书还是可能存在不足之处,甚至错误,敬请广大读者批评指正。如果读者有什么好的同JavaEE安全性相关的解决方案,则不妨同作者分享。
Good Luck in Your Endeavors!
罗时飞
2007年于广州...
共有30人开贴评论 51人参与评论 17人参与打分 查看




新出的这本书应该说是一本Java/Java EE安全方面非常全面的书,包括了Acegi,CAS,还有所有的认证机制等。从书的内容深度来讲,自Acegi、CAS的基础开始到实际编程运用,再到Acegi和CAS的集成、最后到Acegi、CAS源码讲解,可以让读者较为彻底地掌握Acegi,CAS和Java/Java EE安全技术的实际运用。感觉的出来,这本书融入了作者的很多实际开发经验,它不是一本理论化的书。
| 我要写评论 |
| 查看所有评论交流(共30条) |








点击看大图




加载中...

