Golang + Iris(web框架) + Casbin(权限) + JWT + Vue(渐进式js)的web server框架,可前后端分离。
Iris的教程较少、零散、基础,且框架集合的完整实战案例极少(毕竟多数是用于工作,商业项目),几乎没有。后期可以直接使用。
软件架构
目前支持单web架构,如果部署成前后端分离,可用 nginx 中间件代理(已添加跨域访问设置)。
- 采用了Casbin做 Restful 的rbac权限控制;
- 采用jwt做用户认证、回话控制;
- 采用Mysql+xorm做持久层;
- Vue前端项目持续更新中…,目前在front-vue分支;
项目目录结构
go-iris
+-- a 该目录放的是临时的测试方法
+-- conf 所有的配置文件目录
+-- doc 说明文档(含go-bindata和mysql文件)
+-- exec_packahe 可执行的打包文件(目前只有win 64bit的打包)
+-- inits 所有需初始化的目录
| +-- parse 所有配置文件的初始化目录
| +-- init.go 用于初始化系统root用户,并注入所有service
+-- middleware 包含的中间件目录
| +-- casbins 用于rbac权限的中间件的目录
| +-- jwts jwt中间件目录
+-- resources 打包的前端静态资源文件
+-- utils 工具包目录
+-- web
| +-- db 数据库 dao 层目录
| +-- models 模型文件目录
| +-- routes 所有分发出来的路由的目录
| +-- supports 提供辅助方法的目录
+-- main.go 入口