项目简介
本项目是基于Go语言开发的统一权限认证管理系统(UIMS),提供高效、灵活的权限管理和认证解决方案。系统具备数据库迁移、日志管理、Redis连接、命令行工具、Thrift RPC接口等多种功能,适用于需集中管理用户权限和认证的复杂应用场景。
项目的主要特性和功能
- 数据库管理:支持MySQL数据库连接与迁移,具备数据库结构版本控制和回滚功能。
- 日志管理:集成多通道日志系统,支持详细日志记录和调试模式。
- Redis集成:支持Redis缓存,提升系统性能和响应速度。
- 命令行工具:提供命令行接口,便于系统管理和操作。
- Thrift RPC:通过Thrift提供RPC接口,支持远程调用和服务端启动。
- Swagger文档:自动生成API文档,方便开发者查看和测试API接口。
- 中间件支持:提供多种中间件,如API中间件组,增强系统安全性和功能性。
- ORM支持:集成GORM,简化数据库操作。
- 自定义表单验证:支持注册自定义表单验证规则,确保数据有效性。
- 跨平台编译:支持在不同操作系统下交叉编译,生成适用于不同平台的可执行文件。
安装使用步骤
安装依赖
- 确保系统已安装GNU Make。
- 使用Go Modules加载依赖,配置Goland的Go Modules设置,启用Go Modules并将Proxy设置为direct。
配置环境变量
- 复制
.env.example
为.env
,按需配置相关环境变量,如APP_HOST、DB_、REDIS_等。
编译和运行
- 使用
make
命令编译和运行,如make build
编译,make run
启动API服务器。 - 也可用
go build
命令编译,如go build -o uims main.go
。
启动Thrift RPC服务
- 使用
make
命令编译并启动Thrift RPC服务,如./uims thrift-rpc:server
。 - 运行客户端单元测试,如
go test -run=Invoke
。
访问Swagger文档
- 使用
./bin/swag init
生成Swagger文档,通过http://localhost:8080/swagger/index.html
访问。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】