目录

goiris,tokenredismysql实现简单登录验证目录结构和设计思路

目录

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项目目录( )。目前我们只需要3个目录:cmd、configs和internal。其中cmd存放程序入口即main.go文件。configs存放数据库连接信息的配置文件。internal存放具体的逻辑代码。如下图:

https://i-blog.csdnimg.cn/blog_migrate/4d814a9aeeaa19cec373f4f15164ad5a.png

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

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

https://i-blog.csdnimg.cn/blog_migrate/706d33cbdb2de96c488550f4494ba2a4.png

然后main.go来引入路由。

https://i-blog.csdnimg.cn/blog_migrate/f7bc27d40d65648e4aa01074067e65f1.png

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