go(iris),token+redis+mysql实现简单登录验证(目录结构和设计思路)

前后半个月左右实现了基本的验证功能,从最初连request数据都不会接收,response不会返回数据,到后来将数据库配置信息分离,将连接l和关闭redis,mysq,函数分离成中间件,并一次又一次重构代码,降低逻辑复杂度,完善程序结构,go让我体验到了服务器代码的优美和严谨。

现在看来go的设计很优秀。从简单的接触larveral比较来看,go的中间件能极大简化接口的验证处理,函数多返回值和错误处理能最精确的定位到问题所在,并处理。我觉得go重构代码更方便。

接口实现功能:token是作为已登录用户的通行令牌存在的,所以有token验证token,没有token验证用户名和密码正确后返回token。(这个token只是简单的md5加密的32位字符串,并设置死亡时间,用redis存储。)

需要工具:mysql,redis。

最开始先搭建整体的API结构。GitHub上一个标准的go项目目录(https://github.com/golang-standards/project-layout)。目前我们只需要3个目录:cmd、configs和internal。其中cmd存放程序入口即main.go文件。configs存放数据库连接信息的配置文件。internal存放具体的逻辑代码。如下图:

现在可以开始设计路由,接收数据,验证数据,然后返回信息。

只设计一个简单的路由来实现token验证。

然后main.go来引入路由。

现在路由已经有了而且生效。可以开始进行具体的代码编写。

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值