go开源项目用户名密码验证的逻辑鬼才写法
引言
这两天在做微服务上云的事,之前一直是本地运行,后来在服务器搭建了生产环境集群。上云时出现了一些幺蛾子
云上的服务都需要身份验证的,没有专用网关的话,至少也要设置 basicAuth(用户名+密码的方式)
今天使用 Golang 知名项目 Viper 连接远端配置中心 Consul 的时候发现怎么连接都不行。在不使用密码的情况下代码应该是这样子的
按理说,basicAuth 的话只需要在 URL 那里使用 username:password 就可以了,例如:
username:password@consul.domaini.com
但这么填写的话,就会出现连接不上的情况,真的坑。
于是我顺着网线一路查看代码,阅读到关键位置
原来它并不是让开发者通过常规的 URL 方式设置用户名密码,也不是让开发者填入用户名密码参数,而是从本地环境变量里面取,真逻辑鬼才 ~
正确的写法应该是下面这样
如果没有跟着网线找的话,真的会被它尬死,放一下它的其他代码
重要的是,它的文档 github.com/spf13/viper 里面并没有提及这些内容
最后补一下,很多人说国内程序员差 、国内程序员没有创造力 、外国程序员就是流批。说实在的,我们只是没有那么多时间(都是加班作的),英语也没那么好。要不然哪里还会有这些瞎编的说法,你觉得呢?
以上就是go开源项目中逻辑鬼才写法的详细内容,更多关于go开源逻辑代码的资料请关注我们其它相关文章!
相关推荐
-
go使用Gin框架利用阿里云实现短信验证码功能
第一步,调用阿里云Api发送短信并存入数据库或者是redis当中 阿里云短信平台网址 [https://api.aliyun.com/new#/?product=Dysmsapi&version=2017-05-25&api=SendSms¶ms={"RegionId":"cn-hangzhou","TemplateCode":"345","PhoneNumbers":&qu
-
Golang开发Go依赖管理工具dep安装验证实现过程
目录 Go依赖管理工具 环境要求 目前版本 安装 验证 初始化 默认初始化 优先从$GOPATH初始化 Gopkg.toml Gopkg.lock 常用命令 dep ensure dep ensure -add dep ensure -update Go依赖管理工具 Go dependency management tool 环境要求 Golang >= 1.9Dep 目前版本 dep: version : devel build date : git hash : go version : g
-
golang中gin框架接入jwt使用token验证身份
目录 jwt 流程: 1.这里使用开源的 jwt-go 1.token 工具类 2. 使用该中间件 3. controller部分代码 jwt jwt的原理和session有点相像,其目的是为了解决rest api中无状态性 因为rest接口,需要权限校验.但是又不能每个请求都把用户名密码传入,因此产生了这个token的方法 流程: 用户访问auth接口,获取token 服务器校验用户传入的用户名密码等信息,确认无误后,产生一个token.这个token其实是类似于map的数据结构(jwt数据结
-
go gin+token(JWT)验证实现登陆验证
1.准备 go get github.com/dgrijalva/jwt-go go get github.com/gin-gonic/gin 2.代码 package main import ( "errors" "fmt" "github.com/dgrijalva/jwt-go" "github.com/gin-gonic/gin" "net/http" "time" ) fun
-
Google Kaptcha验证码生成的使用实例说明
目录 Kaptcha是什么? 怎么使用Kaptcha? 1.首先下载jar包 2.配置kaptcha 3.将验证码保存进session中 4.验证码校验 Kaptcha验证码配置 效果图如下 Kaptcha是什么? kaptcha 是谷歌开源的非常实用的验证码生成工具,基于SimpleCaptcha的开源项目.使用Kaptcha 生成验证码十分简单并且参数可以进行自定义.只需添加jar包配置下就可以使用,通过配置,可以自己定义验证码大小.颜色.显示的字符等等.下面就来讲一下如何使用kaptcha
-
Go语言实现登录验证代码案例
用Go语言实现登录验证,有3次机会,如果用户名为 zhangsan ,密码为 123456 ,则提示登录成功,否则提示还有几次机会,次数用完,提示登录失败.代码如下: package main import "fmt" func main() { var name string var pwd string var loginChance = 3 for i := 1; i <= 3; i++{ fmt.Print("请输入用户名:") fmt.Scanln(
-
go开源项目用户名密码验证的逻辑鬼才写法
引言 这两天在做微服务上云的事,之前一直是本地运行,后来在服务器搭建了生产环境集群.上云时出现了一些幺蛾子 云上的服务都需要身份验证的,没有专用网关的话,至少也要设置 basicAuth(用户名+密码的方式) 今天使用 Golang 知名项目 Viper 连接远端配置中心 Consul 的时候发现怎么连接都不行.在不使用密码的情况下代码应该是这样子的 按理说,basicAuth 的话只需要在 URL 那里使用 username:password 就可以了,例如: username:passwor
-
java用户名密码验证示例代码分享
类:NameII 权限:public方法:main 权限:public 参数:name,password,denglu,i;参数介绍:name,数据类型 String ,用来存储一个从 input 中获取的值,在本程序当中用作用户名的存放:password,数据类型 String ,用来存储一个从 input 中获取的值,在本程序当中用作密码的存放:denglu,数据类型 boolean,用来存储默认账户的登录状态,true 表示登录成功,false 表示尚未登录:i,数据类型 in
-
git设置用户名密码的示例代码
git设置用户名密码 设置git用户名/邮箱 git config --global user.name [username] git config --global user.email [email] 但是这个仅仅是设置用户名密码,如果你的git 源每次操作需要你输入用户名/密码验证,你依然需要每次设置,那么该如何办呢? git保存用户名密码 这里主要是配置一个config项 有两个方法,基本上原理都是一样,都是修改.git/config文件 1.使用如下命令,修改config文件即可保存
-
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
在登入页面,我们往往需要通过输入验证码才能进行登入,那我们下面就详讲一下在vue项目中如何配合element-ui实现这个功能 第一步:自定义一个生产随机验证码的组件,其本质是使用canvas绘制,详细代码如下: <template> <div class="s-canvas"> <canvas id="s-canvas" :width="contentWidth" :height="contentHeig
-
详解C#使用AD(Active Directory)验证内网用户名密码
详解C#使用AD(Active Directory)验证内网用户名密码 1. 连到内网,找到AD的domain地址 nslookup set types=all _ldap._tcp 2. 验证AD的函数 public bool ADLogin(string userName, string password) { // sample : // LDAP://xxx.com string domain = System.Configuration.ConfigurationManager.App
-
Go+Vue开发一个线上外卖应用的流程(用户名密码和图形验证码)
图形化验证码生成和验证 功能介绍 在使用用户名和密码登录功能时,需要填写验证码,验证码是以图形化的方式进行获取和展示的. 验证码使用原理 验证码的使用流程和原理为:在服务器端负责生成图形化验证码,并以数据流的形式供前端访问获取,同时将生成的验证码存储到全局的缓存中,在本案例中,我们使用redis作为全局缓存,并设置缓存失效时间.当用户使用用户名和密码进行登录时,进行验证码验证.验证通过即可继续进行登录. 验证码库安装 借助开源的验证码工具库可以生成验证码. 首先,安装开源的验证码生成库: go
-
Spring Security 密码验证动态加盐的验证处理方法
本文个人博客地址:https://www.leafage.top/posts/detail/21697I2R 最近几天在改造项目,需要将gateway整合security在一起进行认证和鉴权,之前gateway和auth是两个服务,auth是shiro写的一个,一个filter和一个配置,内容很简单,生成token,验证token,没有其他的安全检查,然后让对项目进行重构. 先是要整合gateway和shiro,然而因为gateway是webflux,而shiro-spring是webmvc,所
-
GitHub入门教程 手把手教你最简单的开源项目托管
自从google code关闭了下载服务了之后,GitHub作为了目前最好用的免费开源项目托管站点,众多开源项目都托管在github,其中不乏著名的播放器MPC-HC. 不习惯于英文的朋友,难免少不了要进行摸索一番,甚至会因此头大而放弃. 这里将手把手地教大家一些本人的入门心得. 1.要托管到github,那你就应该要有一个属于你自己的github帐号,所以你应该先到github.com注册 打开浏览器 在地址栏输入地址:github.com 填写用户名.邮箱.密码 点击Sign up即可简单地
-
springBoot整合CXF并实现用户名密码校验的方法
准备工作: 创建springBoot项目webservice_server 创建springBoot项目webservice_client 分别添加CXF的依赖: <!-- CXF webservice --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxws</artifactId> <version
-
Spring Security 实现用户名密码登录流程源码详解
目录 引言 探究 登录流程 校验 用户信息保存 引言 你在服务端的安全管理使用了 Spring Security,用户登录成功之后,Spring Security 帮你把用户信息保存在 Session 里,但是具体保存在哪里,要是不深究你可能就不知道, 这带来了一个问题,如果用户在前端操作修改了当前用户信息,在不重新登录的情况下,如何获取到最新的用户信息? 探究 无处不在的 Authentication 玩过 Spring Security 的小伙伴都知道,在 Spring Security 中
随机推荐
- jQuery.prop() 使用详解
- JavaScript面向对象之静态与非静态类
- win2008里IIS安装以及IIS7简单设置教程[图文]
- iOS 和 Android 哪个更利于赚钱?
- bootstrap选项卡扩展功能详解
- sizeof()的简单介绍
- 浅谈C# 中的可空值类型 null
- Spring Java-based容器配置详解
- C#自定义繁体和简体字库实现中文繁体和简体之间转换的方法
- MySql登陆密码忘记及忘记密码的解决方案
- 浅谈JavaScript的全局变量与局部变量
- SQL查询数据库中符合条件的记录的总数
- JavaScript入门教程(6) Window窗口对象
- Android StickListView实现悬停效果
- 参考Dedecms整合Discuz完全攻略实现最新的结合
- Android实战打飞机游戏之无限循环的背景图(2)
- anroid开发教程之spinner下拉列表的使用示例
- Android自定义DataTimePicker实例代码(日期选择器)
- 基于JVM 中常见垃圾收集算法介绍
- springcloud之自定义简易消费服务组件