Code Monkey home page Code Monkey logo

lakego-admin's Introduction

lakego-admin 后台管理系统

lakego-admin 是使用 gin、JWT 和 RBAC 的 go 后台管理系统

项目介绍

  • lakego-admin 是基于 gin 的后台开发框架,完全api接口化,适用于前后端分离的项目
  • 基于 JWT 的用户登录态管理
  • 权限判断基于 go-casbinRBAC 授权
  • 使用 Swagger 作为 API 文档管理
  • 本项目为 后台api服务后台前端页面 可查看 Lakego Admin Frontend 项目

环境要求

  • Go >= 1.20
  • Myql
  • Redis

截图预览

登录 控制台
操作日志 管理员
用户组 权限路由

更多截图 Lakego Admin 后台截图

安装步骤

  1. 首先克隆项目到本地
git clone https://github.com/deatil/lakego-admin.git
  1. 然后配置数据库等相关配置,配置位置
/config
  1. 最后运行下面的命令安装系统
go run main.go lakego-admin:install
  1. 运行下面的命令创建附件软链接
go run main.go lakego:storage-link
  1. 如需导入新的权限,可执行下面的脚本从 swagger 文档导入。 swagger 文档需提前生成为最新版本,swagger 导入脚本 swag init -o=./swagger
go run main.go lakego-admin:import-apiroute
  1. 运行测试
go run main.go

或者有其他参数编译时可以添加该参数

go run main.go --lakego=start
  1. 后台登录账号及密码:admin / 123456

特别鸣谢

感谢以下的项目,排名不分先后

  • github.com/gin-gonic/gin

  • gorm.io/gorm

  • github.com/golang-jwt/jwt

  • github.com/casbin/casbin

  • github.com/spf13/cobra

开源协议

  • lakego-admin 遵循 Apache2 开源协议发布,在保留本系统版权的情况下提供个人及商业免费使用。

版权

lakego-admin's People

Contributors

deatil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lakego-admin's Issues

[Bug]: install error

lakego-admin 版本

latest

Golang 版本

1.18

是否依旧存在

可以

bug描述

安装不成功
1 安装时候会因为sql不对卡住 体现在install.go 72行 Error 1065: Query was empty
2 github.com/deatil/lakego-doak/* 里面的包下载不下来

修改建议

No response

[Bug]: too many open files

lakego-admin 版本

v1.0.22

Golang 版本

go 1.19

是否依旧存在

未测试

bug描述

请求接口loalhost:8080/admin-api/admin?limit=3第一次正常,第二次报错too many open files,信息如下:
2023/02/28 14:57:47 /home/go/src/lakego-admin/pkg/lakego-app/doak-admin/admin/model/attachment.go:49 record not found
[0.563ms] [rows:0] SELECT * FROM lakego_attachment WHERE id = '1f3cd4fb-f7e4-4b41-8663-167ca23ea5ab' ORDER BY lakego_attachment.id LIMIT 1
2023/02/28 14:57:47 too many open files
debug调试下用 lsof -p 18645|wc -l命令统计打开文件数,每次调用一次AttachmentUrl打开的文件数都会增加

修改建议

No response

数据库配置后连不上

【数据库配置后连不上,/config/database.yml 已配置】

==============>go run main.go lakego-admin:install
开始安装并导入数据...
panic: 数据库驱动[Mysql]配置不存在

无法正常运行

功能描述以及必要性描述

后台运行正常,无出错
前端开启,在浏览器打开后出错, 后端自动断开

例子 Register 注册
例子 Boot 引导
too many open files
exit status 1

建议和方案

No response

[Bug]: Redis 連接池無法釋放

lakego-admin 版本

v1.3.0

Golang 版本

go 1.20.3

是否依旧存在

可以

bug描述

問題敘述

問題發生在目前main branch下
主要 Issue 為 Redis 連接池無法釋放

問題還原

配置環境

  1. Clone 目前main branch

  2. 配置好Redis Config後

  3. 啟動 lakego-admin 前後端

  4. 開啟登入頁面

觀察連接池

觀察 Redis Server 上 connected_clients 數

開啟 lakego-admin 後端前

connected_clients 40

開啟 lakego-admin 登入頁後

connected_clients 440

此後每次刷新驗證碼即會增加100

connected_clients (440+ CaptchaRefreshTimes * 100)

連接池釋放狀態

自 lakego-admin 後端關閉之前
connected_clients 數量將不會變動
需關閉 lakego-admin後端 後或重啟 RedisServer 才會釋放

修改建议

No response

[Bug]: 权限校验不通过

lakego-admin 版本

1.0.1

Golang 版本

go 1.17

是否依旧存在

可以

bug描述

本地跑起了一个测试项目。新增了一个用户并且赋予了一个拥有全部权限的角色,但是使用该用户登录的时候 /admin-api/profile 这个接口的调用一直报错并且返回 ”你没有权限访问“。查询了一下数据库,admin_id 和 group_id 是关联没问题的。

image

image

image

image

修改建议

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.