1 Star 0 Fork 39

long0419 / go-admin

forked from hequan / go-admin 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Go Web Admin

一个Go Web Api 后端 简单例子,包含 用户、权限、菜单、JWT 、 RBAC(Casbin)等!

附加功能: 一键生成 Restful API接口(不依赖orm)!

版本

  • v1.2.0

  • user
    • username password
  • role
    • name
  • menu
    • name path method

目录结构

  • conf:用于存储配置文件
  • docs: 文档(SQL和API注释)
  • logs: 日志
  • middleware:应用中间件
  • models:应用数据库模型
  • pkg:第三方包
  • routers: 路由逻辑处理
  • service: 逻辑处理
  • test: 单元测试

权限验证说明

利用的casbin库, 将 user role menu 进行自动关联

项目启动时,会自动加载权限. 如有更改,会删除对应的权限,重新加载

用户关联角色  
角色关联菜单  

权限关系为:
角色(role.name,menu.path,menu.method)  
用户(user.username,role.name)

例如:
test      /api/v1/users       GET
hequan     test

当hequan  GET  /api/v1/users 地址的时候,会去检查权限,因为他属于test组,同时组有对应权限,所以本次请求会通过。

用户 admin 有所有的权限,不进行权限匹配

登录接口 /auth  不进行验证

请求

请求和接收 都是 传递 json 格式 数据

例如:
访问 /auth    获取token
{
	"username": "admin",
	"password": "123456"
}

访问      /api/v1/users?page=2
请求头设置  Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

How to run

Required

  • 部署 Mysql

Ready

Create a go database and import SQL

创建一个库 go,然后导入sql,创建表!

Conf

You should modify conf/app.ini

[database]
Type = mysql
User = root
Password =
Host = 127.0.0.1:3306
Name = go
TablePrefix = go_

Installation


yum install go -y 


export GOPROXY=https://goproxy.io
go get github.com/hequan2017/go-admin
cd $GOPATH/src/github.com/hequan2017/go-admin
go build main.go
go run  main.go 

热编译(开发时使用)


go get github.com/silenceper/gowatch

gowatch   

Run

Project information and existing API

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:	export GIN_MODE=release
 - using code:	gin.SetMode(gin.ReleaseMode)

Listening port is 8000

默认 账户 密码 都为  123456

附加功能

  • 不用orm依赖,直接输入表名字就可以 增删改查
get   http://127.0.0.1:8000/api/restful/go_user
get   http://127.0.0.1:8000/api/restful/go_user/1
post   http://127.0.0.1:8000/api/restful/go_user
数据格式  json  支持批量
[{
	"username":"hequan",
	"password":"hequan1",
	"created_on": "0",
	"modified_on":"0",
	"deleted_on":"0"
}]
put  http://127.0.0.1:8000/api/restful/go_user/2
数据格式  json
{
	"password":"654321"
}
delete http://127.0.0.1:8000/api/restful/go_user/2

API 注释

http://127.0.0.1:8000/swagger/index.html

Features

- RESTful API
- Gorm
- logging
- Jwt-go
- Swagger
- Gin
- Graceful restart or stop (fvbock/endless)
- App configurable
- 一键生成 Restful API接口

开发者

  • 何全

特别感谢

本项目主要参考了:
https://github.com/EDDYCJY/go-gin-example  包含更多的例子,上传文件图片等。本项目进行了增改。
https://github.com/LyricTian/gin-admin     主要为 gin+ casbin例子。
https://gitee.com/konyshe/gogo             一行代码搞定RESTFul的轻量web框架。

其他

##更新注释
swag init
The MIT License (MIT) Copyright (c) The go-admin Authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

go 后端api,包含gin+gorm+jwt+rbac、 一键生成 Restful API接口(不依赖orm)。 展开 收起
Go
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/long0419/go-admin.git
git@gitee.com:long0419/go-admin.git
long0419
go-admin
go-admin
master

搜索帮助