Spring Security
levinzhang1981
这个作者很懒,什么都没留下…
展开
-
Spring Security 3全文下载
本书已经翻译完成,提供给大家下载以下地址为ITEYE的电子书下载地址:http://lengyun3566.iteye.com/blog/pdf附件是我用的word转换成的pdf,也可下载本书版权归原作者,希望大家不要将其用于商业目的。 ...2012-03-15 20:31:34 · 135 阅读 · 0 评论 -
《Spring Security3》第八章第三部分翻译(属性交换)
属性交换(Attribute Exchange) OpenID另外一个有趣的功能就是如果使用OpenID的站点需要,OpenID provider提供(基于用户的许可)典型的用户注册数据,如名字、e-mail、生日。这个功能叫做属性交换(Attribute Exchange,AX)。下图展现了在OpenID请求中要求属性交换是如何添加进去的: AX属性值(如果...2012-01-18 15:46:02 · 109 阅读 · 0 评论 -
《Spring Security3》第八章第二部分翻译(OpenID用户的注册)
OpenID用户的注册问题 请使用我们前面的技术来测试Yahoo!OpenID——例如,https://me.yahoo.com/pmularien。你会发现它并不好用,像其它OpenID提供者那样。这带出了OpenID结构的一个很重要的问题,并体现出了启用OpenID用户注册的重要性。OpenID标识是如何处理的 Yahoo!返回的实...2012-01-18 13:39:15 · 169 阅读 · 0 评论 -
《Spring Security3》第八章第一部分翻译(OpenID与Spring Security)
第八章 对OpenID开放 OpenID是很流行的可信任身份管理方式,它允许用户通过一个单独的可信任提供者(provider)管理其身份信息。这个便利的功能为用户提供了安全的方式即使用可信任的OpenID提供者来存储器密码和个人信息,并可以随意的基于请求获取其个人信息。另外,启用OpenID功能的站点能够确信用户提供的OpenID凭证信息就是他们所说的人。 在本章中,我...2012-01-17 22:38:52 · 131 阅读 · 0 评论 -
《Spring Security3》第七章第三部分翻译(ACL的注意事项)
典型ACL部署所要考虑的事情 实际部署SpringACL到业务应用是很复杂的。我们总结了Spring ACL要注意的事情,它们在大多数Spring ACL实现场景中都存在。关于ACL的伸缩性和性能模型 对于小型和中型应用,添加ACL功能是很容易的,尽管它增加数据库存储和影响运行时性能,这个影响可能不会那么明显。但是,取决于ACL和ACE...2012-01-17 22:25:23 · 131 阅读 · 0 评论 -
《Spring Security3》第七章第二部分翻译(高级ACL)(下)
支持ACL的Spring表达式语言 SpEL对ACL系统的支持仅限于方法安全,通过使用hasPermission SpEL方法。典型情况下,这种类型的访问检查会与引用一个或多个传入参数(进行@PreAuthorize检查)或集合过滤(进行@PostAuthorize检查)联合使用。 遗憾的是,启用ACL方法安全配置需要我们配置所有的方法安全以明确的Spring B...2012-01-17 22:17:37 · 151 阅读 · 0 评论 -
《Spring Security3》第七章第二部分翻译(高级ACL)(上)
高级ACL话题 一些高级的话题在我们配置ACL环境时略过了,包括处理ACE许可授权,在运行时根据GrantedAuthority确定某种类型的ACL变化是否允许。既然现在我们已经有了一个运行环境,那我们要开始了解这些更高级的话题。Permission如何工作 许可授权(permission)只不过是简单的逻辑标识符用一个整数的二进制位来表示...2012-01-10 22:59:27 · 110 阅读 · 0 评论 -
《Spring Security3》第七章第一部分翻译(访问控制列表ACL)
第七章 访问控制列表(ACL)在本章中,我们将会介绍访问控制列表这个复杂话题,它能够提供域对象实例层次授权的丰富模型。Spring Security提供了强大的访问控制列表,但是复杂且缺少文档,它能够很好的满足小到中型规模的实现。在本章的内容中,我们将会:l 理解访问控制列表的概念模型;l 了解SpringSecurity ACL模型中的关于访问控制列表的...2011-12-30 22:02:21 · 213 阅读 · 0 评论 -
《Spring Security3》第四章第四部分翻译(Remember me后台存储和SSL)附前四章doc文件...
到此,前四章翻译完成,欢迎朋友提些意见! 将Remember me功能迁移至数据库 现在你可能会意识到我们remember me功能的实现,能够在应用重启前很好的使用,但在应用重启时用户的session会被丢失。这对用户来说会不太便利,他们不应该关心JBCP Pets的维护信息。 幸运的是,Spring Security提供了将re...2011-08-05 21:55:15 · 100 阅读 · 0 评论 -
《Spring Security3》第四章第三部分翻译下(密码加salt)
你是否愿意在密码上添加点salt? 如果安全审计人员检查数据库中编码过的密码,在网站安全方面,他可能还会找到一些令其感到担心的地方。让我们查看一下存储的admin和guest用户的用户名和密码值: 用户名明文密码加密密码adminadmin7b2e9f54cdff413fcde01f330...2011-08-05 21:28:53 · 172 阅读 · 0 评论 -
《Spring Security3》第四章第三部分翻译上(配置安全的密码)
配置安全的密码 我们回忆第一章:一个不安全应用的剖析中,审计人员认为密码以明文形式进行存储是最高优先级的安全风险。实际上,在任何安全系统中,密码安全都是保证已经经过认证的安全实体是真实可靠的重要方面。安全系统的设计人员必须保证密码存储时,任何恶意的用户想要进行破解都是非常困难的。 在数据库存储时,需要遵守以下的准则:l 密码不能以明文的形式进行存...2011-07-31 00:11:18 · 94 阅读 · 0 评论 -
《Spring Security3》第九章(LDAP)第一部分翻译(LDAP基本配置)
第九章 LDAP目录服务 在本章中,我们将会了解轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)以及它怎样集成到使用Spring Security的应用中以提供认证、授权和用户信息服务。在本章的内容中,我们将会:l 学习一些LDAP协议相关的基本概念以及服务器实现;l 在SpringSecurity中...2012-01-19 12:22:20 · 286 阅读 · 0 评论 -
《Spring Security3》第九章(LDAP)第二部分翻译(LDAP高级配置)
LDAP的高级配置 一旦我们要了解LDAP基础集成之外的知识,就会发现security XML命名空间方式的配置中,Spring Security LDAP模块还有许多的可用配置。它包括查询用户的个人信息、用户认证的其它方式以及使用LDAP作为UserDetailsService且与DaoAuthenticationProvider结合。实例JBCP LDAP...2012-01-19 12:36:09 · 377 阅读 · 0 评论 -
《Spring Security3》附录翻译(参考资料)
附录:参考材料 在本附录中,将会涉及到一些我们感觉有用的参考材料(并相当缺乏文档),而将其插入到章节的内容中又会觉得过于综合。JBCP Pets示例代码起步 就像我们在第一章:一个不安全应用的剖析中所描述的那样,我们假设你已有了Eclipse 3.4(或3.5)IDE,并包含Web Tools Package(WTP)。示例代码按每...2012-02-13 22:58:44 · 164 阅读 · 0 评论 -
《Spring Security3》第十三章翻译(迁移到Spring Security 3)
第十三章迁移到Spring Security 3 在最后一章中,我们将会了解从Spring Security2迁移到Spring Security3时常见问题的相关情况。 在本章中,我们将会:l 了解SpringSecurity 3的重要增强;l 理解已有的SpringSecurity 2应用迁移到Spring Secu...2012-02-13 22:50:15 · 119 阅读 · 0 评论 -
《Spring Security3》第十二章翻译(Spring Security扩展)
第十二章Spring Security扩展 在本章中,我们将会探索一个SpringSecurity扩展项目的功能——这是很令人兴奋的功能即将Windows Active Directory认证(或其它支持Kerberos的设施)与SpringSecurity集成以为你的Intranet用户提供完善的单点登录体验。 在本章中,我们将会...2012-02-13 22:38:50 · 280 阅读 · 0 评论 -
《Spring Security3》第十一章(客户端证书认证)第二部分翻译
在Spring Security中配置客户端证书认证 不同于我们到目前为止所使用的认证机制,使用客户端证书认证会使得用户的请求已经被服务器预先认证(pre-authenticated)了。因为服务器(Tomcat)已经确定用户提供了合法且可信的证书,所以Spring Security只需信任这个assertion的合法性。 安全登录过程的另一个...2012-02-13 22:23:05 · 184 阅读 · 0 评论 -
《Spring Security3》第十一章(客户端证书认证)第一部分翻译
第十一章客户端证书认证(ClientCertificate Authentication) 尽管用户名和密码认证特别常见,就像我们在第一章:一个不安全应用的剖析和第二章:SpringSecurity起步所讨论的那样,form认证的存在允许用户提供各种类型的凭证。Spring Security也为这种需求提供了支持,在本章中我们将不再讨论基于form的认证并探索使用...2012-02-13 22:00:18 · 229 阅读 · 0 评论 -
《Spring Security3》第六章第七部分翻译(认证事件处理与小结)
认证事件处理 有一个重要的功能只能通过基于bean的配置就是自定义处理认证事件。认证事件使用了Spring的时间发布机制,它基于o.s.context.ApplicationEvent事件模型。Spring事件模型使用并不广泛,却能够很有用处——特别在认证系统中——如当你想绑定特定行为到认证领域的行动上去的时候。 事件是典型的订阅-发布模式,通知订阅者...2011-11-22 22:37:01 · 127 阅读 · 0 评论 -
《Spring Security3》第六章第六部分翻译(Spring Security基于bean的高级配置)
Spring Security基于bean的高级配置 正如我们在前面几页中看到的那样,基于bean的Spring Security配置尽管比较复杂,但是提供了一定层次的灵活性,如果复杂应用需要超过security XML命名空间风格配置所允许的功能时会用到。 我们将利用这个章节来阐明可用的一些配置选项以及怎么使用。尽管我们不能提供每个可能属性的细节,但是我们鼓励...2011-11-22 22:25:44 · 106 阅读 · 0 评论 -
《Spring Security3》第十章(CAS)第二部分翻译(CAS高级配置)
高级CAS配置 CAS认证框架提供了高级的配置和与CAS服务的数据交换。在本节中,我们将会介绍CAS集成的高级配置。在我们觉得重要的地方将会包含相关的CAS配置指令,但是要记住的是CAS配置是很复杂的并超出了本书的范围。从CAS assertion中获取属性 在CAS服务器传递ticket校验结果时,可以将基于CAS认证时查询到的信息进行...2012-01-19 13:07:40 · 170 阅读 · 0 评论 -
《Spring Security3》第十章(CAS)第一部分翻译(CAS基本配置)
第十章 使用中心认证服务(CAS)进行单点登录 在本章中,我们将会介绍使用中心认证服务(Central Authentication Service,CAS)为基于SpringSecurity的应用提供单点登录门户(single sign-on portal)。在本章的内容中,我们将会:l 学习CAS,包括它的架构以及对于系统管理员和各种规模组织的好处;...2012-01-19 12:54:19 · 141 阅读 · 0 评论 -
《Spring Security3》第九章(LDAP)第三部分翻译(LDAP明确配置)
明确的LDAP bean配置 在本节中,我们带领你学会明确配置以下两项功能所需要的bean集合,即连接外部的LDAP服务器和支持授权的LdapAuthenticationProvider。正如其它基于bean的配置,你可能不希望这样做,除非你发现security命名空间风格的配置不能支持你的业务或技术需求——在这种情况下,请继续阅读。配置外部的LDAP服务器引...2012-01-19 12:44:04 · 188 阅读 · 0 评论 -
《Spring Security3》第六章第五部分翻译(手动配置Spring Security设施的bean)
手动配置Spring Security设施的bean 如果你工作要求的环境很复杂而Spring Security的基本功能——尽管非常强大——不能满足所有的要求,你可能最终需要自己从头构建Spring Security的过滤器链以及支持实施。这是在Spring Security参考手册中没有完全提及的部分,但是却难住了很多人。有些人将这种类型的配置成为Spring...2011-10-19 22:05:27 · 90 阅读 · 0 评论 -
《Spring Security3》第六章第四部分翻译(异常处理)
理解和配置异常处理 SpringSecurity使用简单的分发器模式将框架抛出的异常转移到明确的处理行为中,这将会影响用户对安全资源的访问。Spring Security过滤器链中最后几个过滤器之一的o.s.s.web.access.ExceptionTranslationFilter负责检查在认证和授权过程中(在过滤器链的最后一个过滤器即FilterSecurity...2011-10-18 23:35:11 · 84 阅读 · 0 评论 -
《Spring Security3》第六章第三部分翻译(Session的管理和并发)
Session的管理和并发Spring Security的一个常见配置就是检测相同的用户以不同的session登录安全系统。这被称为并发控制(concurrency control),是session管理(session management)一系列相关配置功能的一部分。严格来说,这个功能并不是高级配置,但是它会让很多新手感到迷惑,并且最好在你对Sping Security整体功能有所了...2011-10-17 23:22:14 · 108 阅读 · 0 评论 -
《Spring Security3》第二章第一部分翻译
第二章 Spring Security起步在本章中,我们将要学习SpringSecurity背后的核心理念,包括重要的术语和产品架构。我们将会关注配置Spring Security的一些方式以及对应用的作用。最重要的是为了解决工作中的问题,我们要开始使得JBCP Pets的在线商店系统变得安全。我们将会通过分析和理解认证如何保护在线商店的适当区域来解决在第一章:一个不安全...2011-06-11 23:30:08 · 67 阅读 · 0 评论 -
《Spring Security3》第六章第二部分翻译(自定义AuthenticationProvider)
实现自定义的AuthenticationProvider在很多场景下,你的应用需要跳出SpringSecurity功能的边界,可能会需要实现自己的AuthenticationProvider。回忆在第二章中AuthenticationProvider的角色,在整个认证过程中,它接受安全实体请求提供的凭证(即Authentication对象或authentication tok...2011-09-18 00:23:17 · 210 阅读 · 0 评论 -
《Spring Security3》第六章第一部分翻译(自定义安全过滤器)
第六章 高级配置和扩展到目前为止,我们已经介绍了大多数Spring Security组件的理论以及架构和使用。我们的JBCP Pets商业站点也在逐渐变成一个安全的web应用,我们将会深入讲解一些更有难度的挑战。在本章的课程中,我们将会:l 实现我们自己的安全过滤器,解决一个很有趣的问题,即对特定的用户角色用IP过滤的方式增强站点的安全;l 构建自定义的Authe...2011-09-18 00:14:51 · 67 阅读 · 0 评论 -
《Spring Security3》第五章第四部分翻译(方法安全的高级知识和小结)
方法安全的高级知识方法安全的表现力不仅局限于简单的角色检查。实际上,一些方法安全的注解能够完全使用Spring表达式语言(SpEL)的强大功能,正如我们在第二章中讨论URL授权规则所使用的那样。这意味着任意的表达式,包含计算、Boolean逻辑等等都可以使用。使用bean包装类实现方法安全规则 另外一种定义方法安全的形式与XML声明有关,它可以包含在Spri...2011-09-11 14:50:59 · 108 阅读 · 0 评论 -
《Spring Security3》第五章第三部分翻译(保护业务层)
保护业务层 到目前为止,在本书中我们的关注点都主要在JBCP Pets 应用web层面的安全。但是,在实际的安全系统规划中,对服务方法应该给予同等的重视,因为它们能够访问系统中最重要的部分——数据。 SpringSecurity支持添加授权层(或者基于授权的数据处理)到应用中所有Spring管理的bean中。尽管很多的开发人员关注层的安全,其实业务...2011-09-11 14:36:57 · 139 阅读 · 0 评论 -
《Spring Security3》第五章第二部分翻译下(实现授权精确控制的方法——页面级权限)...
使用控制器逻辑进行有条件渲染内容 现在,让我们将刚刚用<authorize>标签实现的例子改成用java代码的方式。为了简洁起见,我们只实现一个例子,但实现基于控制器检查的其它例子是很简单直接的。添加有条件显示的Log In链接 为了替代SpringSecurity的<authorize>标签,我们假设在模...2011-09-11 14:26:29 · 128 阅读 · 0 评论 -
《Spring Security3》第五章第二部分翻译上(实现授权精确控制的方法——页面级权限)...
实现授权精确控制的方法 精确的授权指的是基于用户特定的请求进行授权的应用功能特性。不同于我们在第二章:Spring Security起步、第三章增强用户体验和第四章凭证安全存储中的粗粒度的授权,精确的授权一般指的是对页面中的部分进行选择性显示的功能,而不是限制访问一个完整的页面。现实世界中的应用将会花费可观的时间用在规划精确授权的细节上。 SpringSecu...2011-09-11 14:22:19 · 91 阅读 · 0 评论 -
《Spring Security3》第一章第二部分翻译
应用所使用的技术我们使用了一些每个Spring程序员都会遇到的技术和工具,以使得示例应用很容易的运行起来。尽管如此,我们还是提供了补充的起步资料信息在附录:参考资料。我们建立使用如下的IDE以提高开发的效率并使用本书的示例代码:<!--[if !supportLists]-->l <!--[endif]-->Eclipse 3.4或3.5 Java EE...2011-06-08 23:55:27 · 126 阅读 · 0 评论 -
《Spring Security3》第一章第一部分翻译
第一章 一个不安全应用的剖析毫无疑问,安全是任何一个写于21世纪的web工程中最重要的架构组件之一。在这样一个时代,计算机病毒、犯罪以及不合法的员工一直存在并且持续考验软件的安全性试图有所收益,因此对你负责的项目综合合理地使用安全是至关重要的一个元素。 本书的写作遵循了这样的一个开发模式,这个模式我们感觉提供了一个有用的前提来解决复杂的话题——即使用一个基于Spr...2011-06-02 23:52:36 · 56 阅读 · 0 评论 -
关于对《Spring Security3》一书的翻译说明
最近阅读了《Spring Security3》一书,颇有收获(封面见图片)。因此将其部分内容翻译成中文,对于电子版内容,本人放弃一切权利。在翻译之前,本人曾发邮件征询原作者的意见,如今已是半月有余,未见其回复。因为非盈利为目的,所以斗胆将内容发布于博客之上。这是我第一次翻译东西,有很多地方觉得翻译的很生硬,希望阅读到的朋友们踊跃拍砖。我的新浪微博:http://weibo.com...原创 2011-06-02 23:43:54 · 145 阅读 · 0 评论 -
《Spring Security3》第二章第二部分翻译
三步之内使我们的应用变得安全 尽管SpringSecurity的配置可能会很难,但是它的作者是相当为我们着想的,因为他们为我们提供了一种简单的机制来使用它很多的功能并可以此作为起点。以这个为起点,额外的配置能够实现应用的分层次详细的安全控制。 我们将从我们不安全的在线商店开始,并且使用三步操作将它变成一个拥有基本用户名和密码安全认证的站点。这个认证...2011-06-15 22:12:42 · 59 阅读 · 0 评论 -
《Spring Security3》第二章第三部分翻译(上)
安全的复杂之处:安全web请求的架构 借助于SpringSecurity的强大基础配置功能以及内置的认证功能,我们在前面讲述的三步配置是很快就能完成的;它们的使用是通过添加auto-config属性和http元素实现的。 但不幸的是,应用实现的考量、架构的限制以及基础设施集成的要求可能使你的Spring Security实现远较这个简单的配...2011-06-24 00:30:54 · 126 阅读 · 0 评论 -
《Spring Security3》第四章第二部分翻译(JdbcDaoImpl的高级配置)
JdbcDaoImpl的高级配置JdbcDaoImpl拥有众多的可配置选项使其可以在已存在的schema中使用,或对其功能进行更复杂地调整。在很多场景下,很可能我们只需调整内置UserDetailsService类的配置而不需要写自己的代码。 有一个很重要的功能就是在用户(User)和权限(GrantedAuthority)之间添加一个隔离层(a level of ...2011-07-25 23:47:46 · 97 阅读 · 0 评论 -
《Spring Security3》第四章第一部分翻译下(自定义的UserDetailsService)
实现自定义的JDBC UserDetailsService正如在前面章节中的那个练习,我们将以基本的JdbcDaoImpl作为起点,将其进行扩展以支持修改密码功能。创建一个自定义的JDBC UserDetailsService在com.packtpub.springsecurity.security包下创建如下的类: public class CustomJdbc...2011-07-19 23:28:13 · 154 阅读 · 0 评论