【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后端示例,虽然已停止维护,但仍有一定的参考价值。希望大家能够积极留言,分享自己对这个项目的看法或者使用过程中的问题等。
项目地址
数据统计
数据评估
本站链氪巴士提供的hequan2017/go-admin:GoWebApi后端示例包含多种功能都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。
相关导航
go - admin是一个基于Gin + Vue + ElementUI&ArcoDesign&AntDesign的前后端分离权限管理系统脚手架。它包含多租户支持、基础用户管理功能、jwt鉴权、代码生成器、RBAC资源控制、表单构建、定时任务等功能,能让使用者在3分钟构建自己的中后台项目。项目还提供了详细的文档,并且有不同版本的演示地址,如V2Demo:https://vue2.go - admin.dev,V3Demo:https://vue3.go - admin.dev,AntdPRO:https://antd.go - admin.pro。它在权限管理、用户管理、数据库操作等多方面有着丰富的功能和良好的扩展性,对于中后台项目开发具有很大的助力作用。