私密信息管理利器 HashiCorp Vault——REST API

在前面的文章中,我们一直在使用 Vault 命令行客户端。不过,部分输出内容也透露了这样的信息,那就是客户端和服务器的通信实质上是通过 HTTP 协议进行的。本文就显示如何使用 REST API 和服务器通信。Vault 有许多针对特定语言的客户端库,它们基本上就是这些接口的简单封装。只要明白了基本原理,其实你自己写一个也非常简单。

私密信息管理利器 HashiCorp Vault——验证和授权

到目前为止,我们都是使用 vault 客户端直接访问服务器,并未进行任何登录之类的操作。这是因为在开发模式下,服务器会自动将用户登录为 root 用户,目的是为了简化测试,避免在登录问题上卡住初学者。但在生产环境中这显然是非常不安全的。再重复一次,绝对不要在生产环境中使用开发模式

私密信息管理利器 HashiCorp Vault——简介

私密信息管理利器 HashiCorp Vault——简介

最近,由于项目中需要使用保存和管理的加密配置,并且我相信自己发明加密方法并不是一个合理的选择,所以开始寻找相关的方案。经过选型,确定了 HashCorp Valut

目前,在网络上除了官方文档之外,能找到的相关资料非常至少。这或许是因为 Vault 尚未得到大规模使用,不过也有可能是因为涉及到私密性的信息,所以不方便公开讲。不论原因为何,本文和后续的文章希望把使用 HashiCorp Vault 的经验和心得记录下来,为后来人提供一点方便。

来自出版商的免费电子书集合 (O'Reilly/Packt/Manning/Apress/微软)

在以前的文章 推荐:Syncfusion Succinctly 系列免费电子书 中,我介绍了软件厂商 Syncfusion 发行的免费电子书。可能是受互联网思维的影响,现在各大出版商基本上都推出了自己的免费电子书频道(当然对爱书人来说这是好事)。本文汇集了来自英文世界的主要出版商各自的免费电子书频道,供有需要的同学参考。

说明: 1. 本文不讨论中文内容的电子书,也不涉及其他的非官方渠道。 2. 下列出版商要下载免费书籍大都需要你注册一个账号,不过基本上不需要担心什么安全性问题, 如果不想收到后续的通知邮件,也都是可以取消订阅的。

Python 项目可以有多大

Python 项目可以有多大

总是看到有人说,动态一时爽,重构火葬场。然而这世界上有的是著名的开源项目, 也有像 Github、Instagram 这样流量巨大的知名网站是基于动态语言开发的,经过了这么多年重构,也未听说哪个作者进了火葬场的,不明白这些人是真的不知道还是装作看不见呢?不过他们说动态语言大到一定程度就无法维护,虽然这话也同样不值一驳,不过也提醒了我,我也很好奇用动态语言开发的项目规模能大到什么程度。

用 C# 自己动手编写一个 Web 服务器,第五部分——视图引擎

视图引擎

上一篇文章 中,我们实现了 Session,并在过程中为 HttpListenerContext 提供了更高层的封装。在 Controller 返回的结果中我们可以看到服务器动态执行的结果,不过目前它们是以原始字符串的形式存在的。从基本原理来说,返回字符串并没有什么不妥————互联网早期的 CGI/Servlet 都是这么做的。问题在于这种接口过于底层了。设计者希望看到 HTML 页面,而不是苦哈哈的自己去拼接字符串。这就是视图引擎(View Engine)存在的理由。

用 C# 自己动手编写一个 Web 服务器,第六部分——用户验证

用户验证和授权

上一篇文章中,我们添加了视图引擎支持,可以输出真正的动态页面了。再加上控制器(Controller)的支持,现在应用程序开发者可以自由执行业务逻辑,并输出想要的页面效果,可以说,一个真正的 Web 服务器已经基本成型了。不过,大多数业务系统还需要用户验证(Authentication)和授权(Authorization)的功能,允许用户在系统中登录和注销,并根据用户权限判断他(她)能够执行的操作。