脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Golang - go开源项目用户名密码验证的逻辑鬼才写法

go开源项目用户名密码验证的逻辑鬼才写法

2022-07-20 13:27橫貫八方 Golang

这篇文章主要为大家介绍了go开源项目中发现的一个逻辑鬼才写法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

引言

这两天在做微服务上云的事,之前一直是本地运行,后来在服务器搭建了生产环境集群。上云时出现了一些幺蛾子

云上的服务都需要身份验证的,没有专用网关的话,至少也要设置 basicAuth(用户名+密码的方式)

今天使用 Golang 知名项目 Viper 连接远端配置中心 Consul 的时候发现怎么连接都不行。在不使用密码的情况下代码应该是这样子的

go开源项目用户名密码验证的逻辑鬼才写法

按理说,basicAuth 的话只需要在 URL 那里使用 username:password 就可以了,例如:

username:password@consul.domaini.com

但这么填写的话,就会出现连接不上的情况,真的坑。

于是我顺着网线一路查看代码,阅读到关键位置

go开源项目用户名密码验证的逻辑鬼才写法

原来它并不是让开发者通过常规的 URL 方式设置用户名密码,也不是让开发者填入用户名密码参数,而是从本地环境变量里面取,真逻辑鬼才

正确的写法应该是下面这样

go开源项目用户名密码验证的逻辑鬼才写法

如果没有跟着网线找的话,真的会被它尬死,放一下它的其他代码

go开源项目用户名密码验证的逻辑鬼才写法

重要的是,它的文档 github.com/spf13/viper 里面并没有提及这些内容

最后补一下,很多人说国内程序员 、国内程序员没有创造力 、外国程序员就是流批。说实在的,我们只是没有那么多时间(都是加班作的),英语也没那么好。要不然哪里还会有这些瞎编的说法,你觉得呢?

以上就是go开源项目中逻辑鬼才写法的详细内容,更多关于go开源逻辑代码的资料请关注服务器之家其它相关文章!

原文地址:https://juejin.cn/post/7029624641563918367

延伸 · 阅读

精彩推荐