-
《Spring Security 3》翻译
收藏最近阅读了《Spring Security3》一书,颇有收获(封面见图片)。因此将其部分内容翻译成中文,对于电子版内容,本人放弃一切权利。
最近更新文章
《Spring Security3》第六章第五部分翻译(手动配置Spring Security设施的bean)
手动配置Spring Security设施的bean
如果你工作要求的环境很复杂而Spring Security的基本功能——尽管非常强大——不能满足所有的要求,你可能最终需要自己从头构建Spring Security的过滤器链以及支持实施。这是在Spring Security参考手册中没有完全提及的部分,但是却难住了很多人。有些人将这种类型的配置成为Spring ...
《Spring Security3》第六章第四部分翻译(异常处理)
理解和配置异常处理
Spring
Security使用简单的分发器模式将框架抛出的异常转移到明确的处理行为中,这将会影响用户对安全资源的访问。Spring Security过滤器链中最后几个过滤器之一的o.s.s.web.access.ExceptionTranslationFilter负责检查在认证和授权过程中(在过滤器链的最后一个过滤器即FilterSecurityI ...
《Spring Security3》第六章第三部分翻译(Session的管理和并发)
Session的管理和并发
Spring Security的一个常见配置就是检测相同的用户以不同的session登录安全系统。这被称为并发控制(concurrency control),是session管理(session management)一系列相关配置功能的一部分。严格来说,这个功能并不是高级配置,但是它会让很多新手感到迷惑,并且最好在你对Sping Security整体功能有所了解 ...
《Spring Security3》第六章第二部分翻译(自定义AuthenticationProvider)
实现自定义的AuthenticationProvider
在很多场景下,你的应用需要跳出Spring
Security功能的边界,可能会需要实现自己的AuthenticationProvider。回忆在第二 ...
《Spring Security3》第六章第一部分翻译(自定义安全过滤器)
第六章 高级配置和扩展
到目前为止,我们已经介绍了大多数Spring Security组件的理论以及架构和使用。我们的JBCP Pets商业站点也在逐渐变成一个安全的web应用,我们将会深入讲解一些更有难度的挑战。
在本章的课程中,我们将会:
l 实现我们自己的安全过滤器,解决一个很有趣的问题,即对特定的用户角色用IP过滤的方式增强站点的安全;
l 构建自定义的Authen ...
《Spring Security3》第五章第四部分翻译(方法安全的高级知识和小结)
方法安全的高级知识
方法安全的表现力不仅局限于简单的角色检查。实际上,一些方法安全的注解能够完全使用Spring表达式语言(SpEL)的强大功能,正如我们在第二章中讨论URL授权规则所使用的那样。这意味着任意的表达式,包含计算、Boolean逻辑等等都可以使用。
使用bean包装类实现方法安全规则
另外一种定义方法安全的形式与XML声明有关,它可以包含在Sprin ...
《Spring Security3》第五章第三部分翻译(保护业务层)
保护业务层
到目前为止,在本书中我们的关注点都主要在JBCP Pets 应用web层面的安全。但是,在实际的安全系统规划中,对服务方法应该给予同等的重视,因为它们能够访问系统中最重要的部分——数据。
Spring
Security支持添加授权层(或者基于授权的数据处理)到应用中所有Spring管理的bean中。尽管很多的开发人员关注层的安全,其实业务层 ...
《Spring Security3》第五章第二部分翻译下(实现授权精确控制的方法——页面级权限)
使用控制器逻辑进行有条件渲染内容
现在,让我们将刚刚用<authorize>标签实现的例子改成用java代码的方式。为了简洁起见,我们 ...
《Spring Security3》第五章第二部分翻译上(实现授权精确控制的方法——页面级权限)
实现授权精确控制的方法
精确的授权指的是基于用户特定的请求进行授权的应用功能特性。不同于我们在第二章:Spring Security起步、第三章增强用户体验和第四章凭证安全存储中的粗粒度的授权,精确的授权一般指的是对页面中的部分进行选择性显示的功能,而不是限制访问一个完整的页面。现实世界中的应用将会花费可观的时间用在规划精确授权的细节上。
Spring
Secur ...
《Spring Security3》第五章第一部分翻译(重新思考应用功能和安全)
第五章 精确的访问控制
到目前为止,我们已经为JBCP Pets站点添加了用户友好的一些功能,包括自定义的登录页以及修改密码、remember me功能 ...
《Spring Security3》第四章第四部分翻译(Remember me后台存储和SSL)附前四章doc文件
到此,前四章翻译完成,欢迎朋友提些意见!
将Remember me功能迁移至数据库
现在你可能会意识到我们remember me功能的实现,能够在应用重启前很好的使用,但在应用重启时用户的session会被丢失。这对用户来说会不太便利,他们不应该关心JBCP Pets的维护信息。
幸运的是,Spring Security提供了将rem ...
《Spring Security3》第四章第三部分翻译下(密码加salt)
你是否愿意在密码上添加点salt?
如果安全审计人员检查数据库中编码过的密码,在网站安全方面,他可能还会找到一些令其感到担心的地方。让我们查看一下存储的admin和guest用户的用户名和密码值:
用户名
明文密码
加密密码
admin
admin
7b2e9f54cdff413fcde01f330a ...
《Spring Security3》第四章第三部分翻译上(配置安全的密码)
配置安全的密码
我们回忆第一章:一个不安全应用的剖析中,审计人员认为密码以明文形式进行存储是最高优先级的安全风险。实际上 ...
《Spring Security3》第四章第二部分翻译(JdbcDaoImpl的高级配置)
JdbcDaoImpl的高级配置
JdbcDaoImpl拥有众多的可配置选项使其可以在已存在的schema中使用,或对其功能进行更复杂地调整。在很多场景下,很可能我们只需调整内置UserDetailsService类的配置而不需要写自己的代码。
有一个很重要的功能就是在用户(User)和权限(GrantedAuthority)之间添加一个隔离层(a level of i ...
《Spring Security3》第四章第一部分翻译下(自定义的UserDetailsService)
实现自定义的JDBC UserDetailsService
正如在前面章节中的那个练习,我们将以基本的JdbcDaoImpl作为起点,将其进行扩展以支持修改密码功能。
创建一个自定义的JDBC UserDetailsService
在com.packtpub.springsecurity.security包下创建如下的类:
public class CustomJdbcD ...
《Spring Security3》第四章第一部分翻译上(数据库管理信息)
这次上传的部分内容是入门级的,比较简单,但是本章整体的功能还是非常重要的。
第四章
凭证安全存储
到现在为止,我们已经将JBCP Pets站点做了一些用户友好性方面的升级,包括一个自定义的登录页、修改密码以及remember me功能。
在本章中,我们将会把到目前为止都在使用的内存存储转移到数据库作为后台的认证存储。我们将会介绍默认的Spring Securit ...
《Spring Security3》第三章第四部分翻译(修改密码)
实现修改密码管理
现在我们将要对基于内存的UserDetailsService进行简单的扩展以使其支持用户修改密码。因为这个功能对用户名和密码存于数据库的场景更有用,所以基于o.s.s.core.userdetails.memory.InMemoryDaoImpl扩展的实现不会关注存储机制,而是关注框架对这种方式扩展的整体流程和设计。在第四章中,我们将通过将其转移到数据库后台存储来进一步扩展 ...
《Spring Security3》第三章第三部分翻译下(Remember me安全吗?)
Remember me是否安全?
对我们精心保护的站点来说,为了用户体验而添加的任何与安全相关的功能,都有增加安全风险的潜在可能。按照其默认方式,Remember me功能存在用户的cookie被拦截并被恶意用户重用的风险。下图展现了这种情况是如何发生的:
使用SSL(第四章进行讨论)以及其他的网络安全技术能缓解这种类型攻击的风险,但是要注意的是还有其他技术如跨站脚 ...
《Spring Security3》第三章第三部分翻译上(Remember me功能实现)
Remember me
对于经常访问站点的用户有一个便利的功能就是remember me。这个功能允许一个再次访问的用户能够被记住,它通过在用户的浏览器上存储一个加密的cookie来实现的。如果Spring Security能够识别出用户提供的remember me cookie,用户将不必填写用户名和密码,而是直接登录进入系统。
与到目前为止我们介绍的其它功能不同,remember ...
《Spring Security3》第三章第二部分翻译(退出功能的实现)
理解退出功能
术语退出(Logout)指的是用户使其安全session失效的一种操作。一般来说,用户在退出后,将会被重定向到站点的非安全保护的界面。让我们在站点的页头部分添加一个“Log Out”的链接,并再次访问站点以了解其如何实现功能的。
在站点页头上添加“Log Out”链接
正如我们在第二章中讨论的那样,Spring Security将会监视一些特殊的URL,这些URL将 ...
- 专栏创建者:lengyun3566
- 创建时间:2011-11-30 15:15:39
- 专栏文章数:49篇
- 专栏被浏览:383411 次
本专栏热门文章
最新评论
请问大神为啥我的ldap加载了之后 还是会包错误 java.lang.NoClassDefFoundE ...
2014jbkl 评论了 《Spring Security3》第九章(LDAP)第一部 ...
2014jbkl 评论了 《Spring Security3》第九章(LDAP)第一部 ...