Home | 简体中文 | 繁体中文 | 杂文 | 知乎专栏 | Github | OSChina 博客 | 云社区 | 云栖社区 | Facebook | Linkedin | 视频教程 | 打赏(Donations) | About
知乎专栏多维度架构 微信号 netkiller-ebook | QQ群:128659835 请注明“读者”

第 3 章 微服务安全解决方案

目录

3.1. Restful 安全问提
3.2. 第一个阶段采用 HTTP Basic Auth
3.3. 第二阶段 HTTP Basic Auth + SSL
3.4. 第三阶段 Oauth
3.5. 第三阶段,终极版诞生,SSL使用双向认证
3.6. 第四个阶段,HTTP2 + HTTP Basic Auth + Oauth2 + Jwt

3.1. Restful 安全问提

Restful 的通信安全有很多中解决方案,例如

  1. HTTP Basic Auth 认证

  2. Cooke / Session 认证

  3. Token 认证

  4. Oauth / OpenID

等等,每一种方案都很成熟,这里不依依解释,如果不了解,请去搜索引擎查找相关资料。这里我谈谈在实施微服务项目中的心得,首先项目采用 Spring cloud 方案,Spring cloud 有自己的RestController 控制器,我们需要遵循他的规范开发,这就限制了很多传统的认证加密方法不能应用到 Spring cloud中。

例如传统restful 使用 POST 方式提交,POST 数据格式如下:

		
name=Neo&age=23&md5=xxxxxxx
		
		

然后做 token 校验。

而 Spring cloud 使用 raw 格式的数据做POST提交,例如

			@RequestMapping(value = "/member/create", method = RequestMethod.POST)
			public void create(@RequestBody Member member)
		

我们不想在Spring框架上做额外的改动,又想解决信息的安全问题。