链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

hequan2017/go-admin:GoWebApi后端示例包含多种功能

hequan2017/go - admin是一个GoWebApi的后端简单例子,包含用户、权限、菜单、JWT、RBAC等相关功能,项目已停止维护仅供参考。项目有特定的目录结构,如conf用于存储配置文件等,权限验证有特定逻辑,部署也有相应步骤包括Mysql库的创建和配置文件的修改...

访问官网 →

【Github】项目名:hequan2017/go – admin:GoWebApi后端示例

一、项目简介

这是一个GoWebApi的后端简单例子,项目名称为hequan2017/go – admin。其中包含了用户、权限、菜单、JWT、RBAC(Casbin)等相关功能。不过需要注意的是,该项目已停止维护,仅供参考。并且项目提供了交流QQ群:620176501。

二、项目结构

项目具有如下的目录结构:

  • conf:用于存储配置文件。
  • docs:存放文档和sql执行命令API注释等。
  • logs:日志相关。
  • middleware:应用中间件,有inject初始化对象、jwtpermission权限验证等。
  • models:应用数据库模型。
  • pkg:第三方包。
  • routers:路由逻辑处理。
  • service:逻辑处理。
  • test:单元测试。

三、权限验证说明

项目启动时,会自动对user – role – menu进行自动关联。如有更改,会删除对应的权限并重新加载。其权限关系为角色(role.name, menu.path, menu.method)与用户(user.username, role.name)。例如运维部/api/v1/users GET hequan运维部,当hequan GET /api/v1/users地址的时候,会去检查权限,因为他属于运维部,同时运维部有对应权限,所以本次请求会通过。用户admin有所有的权限,不进行权限匹配。登录接口/auth/api/v1/userInfo不进行验证。请求和接收都是传递json格式数据。

四、部署

支持部署Mysql库,创建一个名为go的库,然后导入sql(docs/sql/go.sql)创建表。配置文件可修改conf/app.ini。部署命令如下: yuminstallgo – y exportGOPROXY = https://goproxy.io gogetgo – admin cd $GOPATH/src/go – admin gobuildmain.gogorunmain.go 热编译(开发时使用): gogetgithub.com/silenceper/gowatch gowatch(windows开发需要gcc,执行会报错”gcc”executablefilenotfoundin%PATH%,可参考https://blog.csdn.net/xia_2017/article/details/105545789)。运行更新角色权限关系等操作也有相关说明。

五、项目总结

这个项目是一个包含多种功能的GoWebApi后端示例,虽然已停止维护,但仍有一定的参考价值。希望大家能够积极留言,分享自己对这个项目的看法或者使用过程中的问题等。

项目地址

GitHub链接直达