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

作者:橫貫八方 时间:2024-05-08 10:44:20 

引言

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

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

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

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

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

username:password@consul.domaini.com

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

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

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

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

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

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

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

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

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

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

来源:https://juejin.cn/post/7029624641563918367

标签:go,开源项目,用户密码,验证逻辑
0
投稿

猜你喜欢

  • Yolov5(v5.0)+pyqt5界面设计图文教程

    2023-01-30 03:30:16
  • Python图像处理库PIL的ImageFont模块使用介绍

    2023-12-20 10:30:42
  • python对矩阵进行转置的2种处理方法

    2023-12-01 09:18:17
  • python语言使用技巧分享

    2022-10-24 09:29:38
  • 详解MybatisPlus集成nacos导致druid连接不上数据库

    2024-01-18 02:57:09
  • Oracle数据库的备份与恢复

    2010-07-28 12:52:00
  • 设计性能更优MySQL数据库schema

    2024-01-28 22:22:49
  • 浅谈一下关于Python对XML的解析

    2023-08-15 21:33:36
  • 有时用户并不需要引导

    2009-07-17 18:48:00
  • 关于401状态码的含义和处理方式

    2023-03-16 01:03:08
  • MySQL8.0.26的安装与简化教程(全网最全)

    2024-01-28 11:04:17
  • python抓取并保存html页面时乱码问题的解决方法

    2022-06-06 21:41:40
  • Golang应用执行Shell命令实战

    2024-05-22 10:29:20
  • JavaScript实现点击出现子菜单效果

    2024-04-19 10:45:56
  • Python使用asyncio异步时的常见问题总结

    2021-02-06 04:43:12
  • MySQL与存储过程的相关资料

    2024-01-16 03:20:04
  • MySQL数据库之存储过程 procedure

    2024-01-14 17:50:27
  • 提升Python程序性能的7个习惯

    2021-09-11 04:05:07
  • Mac版Python3安装/升级的方式

    2021-03-07 13:24:40
  • SQLServer地址搜索性能优化

    2024-01-14 10:48:42
  • asp之家 网络编程 m.aspxhome.com