24、Web 服务:Web 服务核心功能有哪些,如何实现

你好,我是孔令飞。从今天开始,我们进入实战第三站:服务开发。在这个部分,我会讲解 IAM项目各个服务的构建方式,帮助你掌握Go 开发阶段的各个技能点。 在Go项目开发中,绝大部分情况下,我们是在写能提供某种功能的后端服务,这些功能以RPC API 接...

Go 语言项目开发实战

25、认证机制:应用程序如何进行访问认证

你好,我是孔令飞,今天我们来聊聊如何进行访问认证。 保证应用的安全是软件开发的最基本要求,我们有多种途径来保障应用的安全,例如网络隔离、设置防火墙、设置IP黑白名单等。不过在我看来,这些更多是从运维角度来解决应用的安全问题。作为开发者,我们也可以从软...

Go 语言项目开发实战

26、IAM项目是如何设计和实现访问认证功能的

你好,我是孔令飞。 上一讲,我们学习了应用认证常用的四种方式:Basic、Digest、OAuth、Bearer。这一讲,我们再来看下IAM项目是如何设计和实现认证功能的。 IAM项目用到了Basic认证和Bearer认证。其中,Basic认证用在前...

Go 语言项目开发实战

27、权限模型:5大权限模型是如何进行资源授权的

你好,我是孔令飞。在开始讲解如何开发服务之前,我先来介绍一个比较重要的背景知识:权限模型。 在你的研发生涯中,应该会遇到这样一种恐怖的操作:张三因为误操作删除了李四的资源。你在刷新闻时,也可能会刷到这么一个爆款新闻:某某程序员删库跑路。操作之所以恐怖...

Go 语言项目开发实战

28、控制流(上):通过iam、apiserver设计,看Web服务的构建

你好,我是孔令飞。 前面我们讲了很多关于应用构建的内容,你一定迫不及待地想看下IAM项目的应用是如何构建的。那么接下来,我就讲解下IAM应用的源码。 在讲解过程中,我不会去讲解具体如何Code,但会讲解一些构建过程中的重点、难点,以及Code背后的设...

Go 语言项目开发实战

29、控制流(下):iam、apiserver服务核心功能实现讲解

你好,我是孔令飞。 [上一讲],我介绍了 iam-apiserver 是如何构建 Web 服务的。这一讲,我们再来看下 iam-apiserver 中的核心功能实现。在对这些核心功能的讲解中,我会向你传达我的程序设计思路。 iam-apiserver...

Go 语言项目开发实战
1345679