代码拉取完成,页面将自动刷新
同步操作将从 hequan/go-admin 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
一个Go Web Api 后端 简单例子,包含 用户、权限、菜单、JWT 、 RBAC(Casbin)等!
项目启动时,会自动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 不进行验证
请求和接收 都是 传递 json 格式 数据
例如:
访问 /auth 获取token
{
"username": "admin",
"password": "123456"
}
访问 /api/v1/menus?page=2 页面是page
请求头设置 Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Create a go database and import SQL
创建一个库 go,然后导入sql,创建表!
You should modify conf/app.ini
[database]
Type = mysql
User = root
Password =
Host = 127.0.0.1:3306
Name = go
TablePrefix = go_
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
更新角色权限关系 [[hequan 运维部]]
角色权限关系 [[hequan 运维部]]
[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)
[GIN-debug] POST /auth --> github.com/hequan2017/go-admin/routers/api.Auth (4 handlers)
[GIN-debug] GET /swagger/*any --> github.com/swaggo/gin-swagger.WrapHandler.func1 (4 handlers)
[GIN-debug] GET /api/v1/menus --> github.com/hequan2017/go-admin/routers/api/v1.GetMenus (6 handlers)
[GIN-debug] GET /api/v1/menus/:id --> github.com/hequan2017/go-admin/routers/api/v1.GetMenu (6 handlers)
[GIN-debug] POST /api/v1/menus --> github.com/hequan2017/go-admin/routers/api/v1.AddMenu (6 handlers)
[GIN-debug] PUT /api/v1/menus/:id --> github.com/hequan2017/go-admin/routers/api/v1.EditMenu (6 handlers)
[GIN-debug] DELETE /api/v1/menus/:id --> github.com/hequan2017/go-admin/routers/api/v1.DeleteMenu (6 handlers)
[GIN-debug] GET /api/v1/roles --> github.com/hequan2017/go-admin/routers/api/v1.GetRoles (6 handlers)
[GIN-debug] GET /api/v1/roles/:id --> github.com/hequan2017/go-admin/routers/api/v1.GetRole (6 handlers)
[GIN-debug] POST /api/v1/roles --> github.com/hequan2017/go-admin/routers/api/v1.AddRole (6 handlers)
[GIN-debug] PUT /api/v1/roles/:id --> github.com/hequan2017/go-admin/routers/api/v1.EditRole (6 handlers)
[GIN-debug] DELETE /api/v1/roles/:id --> github.com/hequan2017/go-admin/routers/api/v1.DeleteRole (6 handlers)
[GIN-debug] GET /api/v1/users --> github.com/hequan2017/go-admin/routers/api.GetUsers (6 handlers)
[GIN-debug] GET /api/v1/users/:id --> github.com/hequan2017/go-admin/routers/api.GetUser (6 handlers)
[GIN-debug] POST /api/v1/users --> github.com/hequan2017/go-admin/routers/api.AddUser (6 handlers)
[GIN-debug] PUT /api/v1/users/:id --> github.com/hequan2017/go-admin/routers/api.EditUser (6 handlers)
[GIN-debug] DELETE /api/v1/users/:id --> github.com/hequan2017/go-admin/routers/api.DeleteUser (6 handlers)
2019/05/31 14:48:43 [info] start http server listening :8000
- RESTful API
- Gorm
- logging
- Jwt-go
- Swagger
- Gin
- Graceful restart or stop (fvbock/endless)
- App configurable
本项目主要参考了:
https://github.com/EDDYCJY/go-gin-example 包含更多的例子,上传文件图片等。本项目进行了增改。
https://github.com/LyricTian/gin-admin 主要为 gin+ casbin例子。
## 更新API文档
swag init
##
cd /opt/go-admin
nohup go run main.go >> /tmp/go-http.log 2>&1 &
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。