`
lengyun3566
  • 浏览: 446818 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
D59180b9-02f1-3380-840c-ea34da46143c
《Spring Secur...
浏览量:379340
社区版块
存档分类
最新评论

《Spring Security3》第一章第一部分翻译

阅读更多

 

第一章   一个不安全应用的剖析

毫无疑问,安全是任何一个写于21世纪的web工程中最重要的架构组件之一。在这样一个时代,计算机病毒、犯罪以及不合法的员工一直存在并且持续考验软件的安全性试图有所收益,因此对你负责的项目综合合理地使用安全是至关重要的一个元素。

     本书的写作遵循了这样的一个开发模式,这个模式我们感觉提供了一个有用的前提来解决复杂的话题——即使用一个基于Spring3web工程作为基础,以理解使用Spring Security3使其保证安全的概念和策略。

     不管你是不是已经使用Spring Security还是只是对这个软件有兴趣,就都会在本书中得到有用的信息。

在本节的内容中,你能够:

检查一个虚拟安全审计的结果

l 讨论web应用通常的一些安全问题

l 学习软件安全中的几个核心词汇和概念

如果你已经熟悉基本的安全术语,你可以直接跳到第二章:Spring Security起步,在哪里我们将涉及这个框架的细节。 

安全审计

         这是你作为软件开发人员在Jim Bob Circle Pant Online Pet Store(JBCPPets.com)工作的一个清晨,你正在喝你的第一杯咖啡的时候,收到了你主管的以下邮件:

        

         To: Star Developer <stardev@jbcppets.com>

From: Super Visor <theboss@jbcppets.com>

Subject: 安全审计

Star,

         今天,有一个第三方的安全公司要审计我们的电子商务网站。尽管我知道你在设计网站的时候已经把安全考虑在内了,但请随时解决他们可能发现的问题。

                                                                                             Super Visor

什么?你在设计应用的时候并没有过多考虑安全的问题?似乎你有许多的东西要向安全审计人员学习。首先,让我们花一点时间检查一下要审计的应用吧。

关于样例应用

         尽管在本书的后续内容中我们要模拟虚拟的场景,但这个应用的设计以及我们对其进行的改造都是基于现实世界中真实使用Spring的工程。

         这个应用的设计很简单,使得我们能够关注于重要的安全方面而不会过多关注ORM的细节和复杂的UI技术。我们期望你能够参考其他的资料来掌握示例代码中所涉及功能的技术。

         代码是基于SpringSpring Security3编写而成的,但是它很容易改变为Spring Security2的例子。关于Spring Security 23的细节差异,可以参照第十三章:迁移至Spring Security,可以作为将示例代码转换成Spring Security2的帮助材料。

         不要以本应用作为基础去构建真实的Pet Store在线应用。本应用已经有意识的构建地简单并关注于本书所要阐述的概念和配置。

JBCP Pets应用的架构

         本应用遵循标准的三层结构,包括web层、服务层和数据访问层,如下图所示:

 


  

web层封装了MVC的代码和功能。在示例代码中,我们使用了Spring MVC框架,但是我们可以一样容易的使用Spring Web FlowStruts甚至是一个对Spring友好的web stackApache Wicket

在一个典型使用Spring Securityweb应用中,大量配置和参数代码位于web层。所以,如果你没有web应用开发,尤其是Spring MVC的经验,在我们进入更复杂的话题前,你最好仔细看一下基础代码并确保你能理解。再次强调,我们已经尽力让我们的应用简单,把它构建成一个pet store只是为了给它一个合理的名字和轻量级的结构。可以将其与复杂的Java EE Pet Clinic示例作为对比,那个示例代码展现了很多技术的使用指导。

服务层封装了应用的业务逻辑。在示例应用中,我们在数据访问层前做了一个很薄的façade用来描述如何在特殊的点周围保护应用的服务方法。

在典型的web工程中,这一层将会包括业务规则校验,组装和分解BO以及交叉的关注点如审计等。

数据访问层封装了操作数据库表的代码。在很多基于Spring的工程中,这将会在这里发现使用了ORM技术如hibernateJPA。它为服务层暴露了基于对象的API。在示例代码中,我们使用基本的JDBC功能完成到内存数据库HSQL的持久化。

在典型的web工程中,将会使用更为复杂的数据访问方式。因为ORM,即数据访问,开发人员对其很迷惑。所以为了更清晰,这一部分我们尽可能的对其进行了简化。

 

  • 大小: 9.3 KB
14
0
分享到:
评论
2 楼 ITCEO1 2016-04-05  
共享你的劳动成果
1 楼 ITCEO1 2016-04-05  
你好,感谢你共享了你的劳动成功,我下载了你的《spring security 3》翻译版PDF,发现里面丢失很多图片,例如本节示例的架构分层图,你是否可以更新下pdf,谢谢!

相关推荐

    springSecurity3中文文档

    第一章:一个不安全应用的剖析 第二章:springsecurity起步 第三章:增强用户体验 第四章:凭证安全存储 第五章:精确的访问控制 第六章:高级配置和扩展 第七章:访问控制列表(ACL) 第八章:对OpenID开放 第九章...

    Spring攻略PDF版

    因为上传大小的限制,分为两部分上传,这是第二部分,第一部分会在评论中给出链接 绝对是spring攻略中文版第二版 Spring专家力作 理论与实践完美结合 问题描述→解决方案→实现方法 第一部分 核心概念  第1章 ...

    Spring攻略中文版PDF

    因为上传大小的限制,分为两部分上传,这是第一部分,第二部分会在评论中给出链接 绝对是spring攻略中文版第二版 Spring专家力作 理论与实践完美结合 问题描述→解决方案→实现方法 第一部分 核心概念  第1章 ...

    security:Spring Security 开发安全的REST服务 —— JoJozhai

    第1章 课程导学 第2章 开始开发 第3章 使用Spring MVC开发RESTful API 3-4 用户创建请求 3-5 修改和删除请求 3-6 服务异常处理 3-7 使用切片拦截REST服务 3-8 使用Filter和Interceptor拦截REST服务 3-9 使用...

    Spring攻略英文版(附带源码)

    第一部分 核心概念  第1章 控制反转和容器   1.1 使用容器管理组件   1.1.1 问题描述   1.1.2 解决方案   1.1.3 实现方法   1.2 使用服务定位器降低查找组件的复杂性   1.2.1 问题描述   ...

    Spring Security3 张卫滨(译)

    第一章 一个不安全应用的剖析 ........................................................................................... 8 安全审计........................................................................

    spring security 的一些资料----下载不扣分,回帖加1分,童叟无欺,欢迎下载

    第 1 章 一个简单的HelloWorld Spring Security中可以使用Acegi-1.x时代的普通配置方式,也可以使用从2.0时代才出现的命名空间配置方式,实际上这两者实现的功能是完全一致的,只是新的命名空间配置方式可以把原来...

    Spring攻略(第二版 中文高清版).part1

    第1章 Spring简介 1 1.1 实例化Spring IoC容器 1 1.1.1 问题 1 1.1.2 解决方案 1 1.1.3 工作原理 3 1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用...

    Spring攻略(第二版 中文高清版).part2

    第1章 Spring简介 1 1.1 实例化Spring IoC容器 1 1.1.1 问题 1 1.1.2 解决方案 1 1.1.3 工作原理 3 1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用...

    程序员面试刷题的书哪个好-spring-security-study:SpringSecurity权限框架学习

    第一章 简介 1.1 概要 Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案 Web 应用的安全性包括 用户认证(Authentication) 和 用户授权(Authorization) 两个部分,这两个部分也是 Spring ...

    Spring in Action(第2版)中文版

    第一部分spring的核心 第1章开始spring之旅 1.1spring是什么 1.2开始spring之旅 1.3理解依赖注入 1.3.1依赖注入 1.3.2di应用 1.3.3企业级应用中的依赖注入 1.4应用aop 1.4.1aop介绍 1.4.2aop使用 1.5小结...

    Spring in Action(第二版 中文高清版).part1

    第一部分 Spring的核心 第1章 开始Spring之旅 1.1 Spring是什么 1.2 开始Spring之旅 1.3 理解依赖注入 1.3.1 依赖注入 1.3.2 DI应用 1.3.3 企业级应用中的依赖注入 1.4 应用AOP 1.4.1 AOP介绍 1.4.2 AOP...

    springCloud

    一 服务启动 此项目集成了:Feign,Spring Cloud Bus,hystrix,swagger-ui,zuul-filter,配置中心功能 ... Fallbacks可以组成链式结构,所以,最底层调用其它业务服务的第一个Fallback返回静态数据.

    Spring in Action(第二版 中文高清版).part2

    第一部分 Spring的核心 第1章 开始Spring之旅 1.1 Spring是什么 1.2 开始Spring之旅 1.3 理解依赖注入 1.3.1 依赖注入 1.3.2 DI应用 1.3.3 企业级应用中的依赖注入 1.4 应用AOP 1.4.1 AOP介绍 1.4.2 AOP...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part3

    第1 章 Spring 基础 2 1.1 Spring 概述 2 1.1.1 Spring 的简史 2 1.1.2 Spring 概述 3 1.2 Spring 项目快速搭建 5 1.2.1 Maven 简介 6 1.2.2 Maven 安装 6 1.2.3 Maven 的pom.xml 7 1.2.4 Spring 项目的搭建 9 1.3 ...

    spring-security-demo:《Spring安全实战》原始码

    本书出版的时候,考虑到前面章节的二进制代码简单,原始便只提供了“单点登录与CAS”和“ Spring Security OAuth”两章,随后经过一些热心读者的反馈,才使得二进制本身简单复杂都应该完整提供,但目前Spring ...

    JavaEE开发的颠覆者 Spring Boot实战,多个地址免费下载,

    JavaEE开发的颠覆者 Spring Boot实战,多个地址免费下载,第一部分 点睛Spring 4.x 第1 章 Spring 基础 ..........................................2 1.1 Spring 概述 ................................................

    spring boot 项目代码,直接启动本人编写的,里面包含PPT下载地址

    spring boot 项目代码,直接启动,第一部分 点睛Spring 4.x 第1 章 Spring 基础 ..........................................2 1.1 Spring 概述 ............................................. 2 1.2 Spring 项目...

    Spring Boot带前后端 渐进式开发企业级博客系统

    第1章 Spring Boot 简介 讲解Spring Boot的项目背景,已经与其他技术框架(比如,Spring、SpringMVC、SpringCloud等)的关系。 简单介绍下Spring Boot 整个生态系统 第2章 开启 Spring Boot 的第一个 Web 项目 ...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part2

    第1 章 Spring 基础 2 1.1 Spring 概述 2 1.1.1 Spring 的简史 2 1.1.2 Spring 概述 3 1.2 Spring 项目快速搭建 5 1.2.1 Maven 简介 6 1.2.2 Maven 安装 6 1.2.3 Maven 的pom.xml 7 1.2.4 Spring 项目的搭建 9 1.3 ...

Global site tag (gtag.js) - Google Analytics