前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >30天习惯养成

30天习惯养成

作者头像
陌无崖
发布2019-08-16 17:23:34
4000
发布2019-08-16 17:23:34
举报

序言

今天是第五天了,越来越能体会到什么是“路漫漫”了,对于今天,可以用一句话概括,一上午画图,一下午敲键盘。

今日计划安排

我的一天

首先讲一下我今天画的图吧,为什么画图,主要是为了扩展我的登录服务,画图的过程中,画图的时候有一个问题一直困扰到我,看下图

客户端请求登录,由登录进行验证,验证成功则返回数据,但是有一种情况,如果B服务也可以直接访问,如何保证只让用户登陆一次呢,这个问题在之前我遇到过,解决方法也很简单,就是用户登陆成功后,给用户返回一个唯一的标识,下次访问的时候,带上这个标识(token)就可以了,但是方法简单实现真是千辛万苦, 由于我前面加了一个网关进行转发找具体的服务,刚开始的思路是每次访问服务都要进行token认证,token有值,但过期,则返回错误数据,token无值,也返回错误数据提示用户先登录,当有值也有效的时候则直接免登陆,但是我还要验证来自的前端是否是真正的前端,因此真实的客户端是需要验证,即要验证请求的来源,难道说每次在访问服务的时候都要进行客户端真实的验证?考虑到这一点,同时还要考虑登录验证,我就蒙了,无从下手,想着是否可以分开,我上网搜索了相关的方法,令人兴奋,有一个方案是单点登录,所以我就搜索了相关知识,找了很多终于有一篇博客详细介绍了,我就比对着人家的架构去画我自己的,最终画了一个简单的图如下:

在这个图中有一个认证中心,这个认证中心为所有的服务进行授权,授权的方式就是token,所以当想访问某个服务时,只需要请求它为你授权就行了,而我们的客户端认证就可以不和授权放在一起,把它放到了网关这一层,如果网关都通不过,很明显离我们的服务还远着呢,有效的提高了我们服务的安全性,这个思路有了,就是具体的细节了,考虑到的有客户端验证请求参数加密问题,token的更新问题,用户数据的同步性问题,基本上,图画的差不多了,中午看了会书,下午的时候我就开始写代码了,有了昨天的基础服务,我只需要改装我的服务就行了,对我的服务进行升级,使他更加的完善,思路清晰,代码写的也很快,扩展的这一部分写完后,就接着写注册服务,注册服务相对来说简单相比之前的总体架构设计,有了前面的铺垫,代码修改的更加容易。全部完成后,我这部分代码就可以成为我目前写程序的公共架构了,这也是我当初开始写的原因,写一个公共的基础架构方便后期程序的开发。完成了最重要的一部分后,我尝试这把我写的部署到docker,下次启动的时候就可以快速的用容器启动了,刚好可以复习我的docker容器的部署。其次我就开始学习Context包了,我总结了一篇笔记,想看的可以去看,主要解决了如何更好的控制Go中的协程。

明日计划

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 golang技术杂文 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档