/zeus-admin

Zeus基于Golang Gin +casbin,致力于做企业统一权限&账号中心管理系统。包含账号管理,数据权限,功能权限,应用管理,多数据库适配,可docker 一键运行。社区活跃,版本迭代快,加群免费技术支持。

Primary LanguageVueApache License 2.0Apache-2.0

Zeus 宙斯权限&账号管理系统

golang casbin

项目介绍

Zeus 宙斯 权限后台,为企业提供统一后台权限管理私有化Saas云服务。

  • 项目使用 golang gin + vue-element-admin 框架开发,用jwt + casbin做权限管理,提供OAuth2.0 的Restful Api 接口。
  • 为企业后台系统提供统一登陆鉴权、菜单管理、权限管理、组织架构管理、员工管理、配置中心、日志管理等。
  • 支持企业微信、钉钉登陆和同步企业组织架构。
  • 统一管理员工入离职,强化权限审批流程化。
  • 打通开源软件、付费Saas软件,企业内部开发系统等,包括不限于jenkis、jira、gitlab、confluence、禅道、企业邮箱、OA、CRM、财务软件、企业Sass云服务等内外部系统,解决企业多个软件和平台账号不同步的痛点。
  • 打造统一开放平台生态标准,为企业引进外部系统不再困难。

更多请进入官网介绍公牛开源战队 以及详细的开发文档指南

Features (目前实现功能)

  • 登录/登出
  • 权限管理
    • 用户管理(人员管理)
    • 角色管理(功能权限管理)
    • 部门管理
    • 项目管理
    • 菜单管理
    • 数据权限管理
  • 个人帐户

Roadmap (计划实现)

  • 组织架构管理(同步钉钉)
  • 安全风控
  • 操作日志监控
    • 登陆日志
    • 异常登陆
    • 操作日志
  • 页面管理
    • 页面配置管理
  • 配置中心
  • 应用中心 (开放平台)
  • 个人帐户
    • 手机验证
    • 邮箱验证
  • 增加支持企业微信、微信、Github、Gmail、QQ等登陆
  • 登陆授权(OAuth 2.0、Ldap、SAML2.0、Cas等)
  • 打通Worklite、Teambition、Github、墨刀、Tapd 等 Saas 服务
  • 打通jenkis、jira、gitlab、confluence、禅道等开源软件

Docker 部署

可参考 文档

架构

快速开始

该操作在linux 下生效,需要golang 1.11+ & node v9 + 编译环境,设置git clone 权限

前后统一访问入口部署(前后统一)

git clone git@github.com:bullteam/zeus-admin.git
export GOPROXY=https://goproxy.cn
export GO111MODULE=on
#后端编译
go build -o zeus
#前端编译
cd pkg/webui
npm install
npm run build:work
cd ~/zeus-admin

export MYSQL_USERNAME=root
export MYSQL_PASSWORD=123456
export MYSQL_HOST=127.0.0.1
export MYSQL_DB=zeus
export MYSQL_PORT=3306
export REDIS_HOST=127.0.0.1
export REDIS_PORT=6379
export REDIS_PASSWORD=""

./zeus server -c ./config/in-local.yaml

前后不同入口部署(前后分离)

git clone git@github.com:bullteam/zeus-admin.git
export GOPROXY=https://goproxy.cn
export GO111MODULE=on
#后端编译
go build -o zeus
#前端编译
cd pkg/webui
npm install
#正常情况下,会生成dist目录,可自己部署web服务器(如nginx),提供前端服务
npm run build:prod
cd ~/zeus-admin

export MYSQL_USERNAME=root
export MYSQL_PASSWORD=123456
export MYSQL_HOST=127.0.0.1
export MYSQL_DB=zeus
export MYSQL_PORT=3306
export REDIS_HOST=127.0.0.1
export REDIS_PORT=6379
export REDIS_PASSWORD=""

#修改in-local.yamln内部的project.merge为false,然后再启动
./zeus server -c ./config/in-local.yaml --cors=true

数据移值

# 执行 sql 语句
mysql> source ./scripts/init.sql;

Git 工作流

Git 协作工作流

openssl jwt 密钥生成

openssl jwt 密钥

演示 Demo

接入权限系统 client demo

相关截图

开发者

更多请进入我们的官网了解我们 公牛开源战队

贡献代码

非常欢迎优秀的开发者来贡献Zeus。在提Pull Request之前,请首先阅读源码,了解原理和架构。如果不懂的可以加他的微信 wutongci 注明 Zeus

社区

如果您觉得 Zeus 对您有帮助,请扫描下方群二维码,如果群满,请加微信 wutongci 并注明zeus 开源交流,他会将你拉入群。