项目简介
本项目是基于Go语言框架构建的用户中心系统,具备用户管理、权限控制、菜单管理、API管理以及多租户管理等一系列功能。运用Dubbo和gRPC作为通信框架,实现服务端与客户端的通信,同时支持用户信息、角色信息等的增删改查操作,还集成了基于Casbin的权限控制与基于JWT的身份验证功能。
项目的主要特性和功能
- 用户信息管理:提供添加、更新、删除及查询功能,支持用户信息获取与更新。
- 角色信息管理:支持角色信息的增删改查,实现基于角色的权限控制。
- 菜单信息管理:可进行菜单信息的添加、更新、删除及查询,具备菜单权限控制能力。
- API信息管理:实现API信息的增删改查,支持API的启用/禁用和权限控制。
- 租户信息管理:支持租户信息的增删改查,以及租户的启用/禁用和权限控制。
- 权限控制:利用Casbin进行基于角色的访问控制(RBAC),实现细粒度的用户权限控制。
- 身份验证:支持基于JWT的身份验证和令牌解码,保障用户身份的验证与授权。
安装使用步骤
假设你已下载本项目的源码文件,可按以下步骤操作:
1. 配置环境:确保满足项目运行的条件,安装相关依赖,具体如下:
- 条件一
- 条件二
- 条件三
2. 添加配置文件:在项目中添加如下配置文件内容:
yaml
dubbo:
config-center:
protocol: nacos
address: 127.0.0.1:8848
data-id: "usercenter"
group: basic
namespace: nooocode
yaml
dubbo:
config-center:
protocol: nacos
address: 127.0.0.1:8848
data-id: "usercenter"
params:
mysql: "root:123456@(127.0.0.1:3306)/usercenter?charset=utf8mb4&parseTime=True&loc=Local"
debug: "true"
token-key: "Lowcode"
redis-addr: ""
redis-user-name: ""
redis-pwd: ""
token-expired: 120
application: # 应用配置
name: usercenter
module: local
version: 1.0.0
owner: nooocode
organization: nooocode
metadata-type: local # 元数据上报方式,默认为本地
protocol: nacos # 元数据上报方式,支持nacos/zookeeper
address: 127.0.0.1:8848
username: ""
password: ""
timeout: "3s"
registries:
nacos:
protocol: nacos
timeout: 3s
address: 127.0.0.1:8848
protocols:
triple:
name: tri
port: 20003
provider:
registry-ids: nacos
services:
UserProvider:
protocol-ids: triple
interface: org.nooocode.User
TenantProvider:
protocol-ids: triple
interface: org.nooocode.Tenant
RoleProvider:
protocol-ids: triple
interface: org.nooocode.Role
MenuProvider:
protocol-ids: triple
interface: org.nooocode.Menu
APIProvider:
protocol-ids: triple
interface: org.nooocode.API
IdentityProvider:
protocol-ids: triple
interface: org.nooocode.Identity
3. 执行后续操作:完成上述步骤后,依次进行操作二、操作三。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】