casdoor
前言
Casdoor是一个基于OAuth 2.0、OIDC、SAML 和 CAS 的,UI-first的身份和访问管理(IAM)/单点登录(SSO)平台。使用 Go 和react开发,前后端分离,内置第三方应用登录服务。
Casdoor 有四个核心概念,分别是 组织(Organization),用户(User),应用(Application) 和 提供商(Provider)。组织承载用户和应用,一个用户只能隶属于一个组织,但可以登录到自己组织的多个应用中;而提供商则代表了某种身份验证方式,例如电子邮件验证、短信验证、OAuth 验证等。
部署 Casdoor
环境
- Go 1.17+
- Node.js LTS (16或14)
- Yarn 1.x
强烈建议您使用 Yarn 1.x 运行 Casdoor 前端,使用 NPM可能会导致UI 风格问题。
注意:对于中国大陆用户,为了成功下载依赖关系包, 您需要通过配置 GOPROXY 环境变量来使用Go 代理。 We strongly recommend: https://goproxy.cn/
- MySQL
- MariaDB
- PostgreSQL
- CockroachDB
- SQL Server
- Oracle
- SQLite 3
- TiDB
下载
The source code of Casdoor is hosted at GitHub: https://github.com/casdoor/casdoor. Go 后端代码和 React 前端代码都在单个仓库中。
| 名称 | 描述 | 语言 | 源代码 |
|---|---|---|---|
| 前端 | Casdoor的网页前端界面 | JavaScript + React | https://github.com/casdoor/casdoor/tree/master/web |
| 后端 | Casdoor的ResTful API 后端 | Golang + Beego + XORM | https://github.com/casdoor/casdoor |
cd /文件夹路径/
git clone https://github.com/casdoor/casdoor
##克隆仓库过后,前端页面就在web文件夹里。
配置
配置数据库
Casdoor支持MySQL, msSQL,Sqlite3,PostgreSQL等数据库。 默认使用MySQL。 如果您想使用支持以外的数据库,请自行 修改object/adapter包
Mysql
Casdoor将会把users,nodes和topics信息存储在一个命名为casdoor的MySQL数据库中。
如果数据库不存在,则需手动创建。
The DB connection string can be specified
at: https://github.com/casdoor/casdoor/blob/master/conf/app.conf
driverName = mysql
dataSourceName = root:123456@tcp(localhost:3306)/
dbName = casdoor
//此文件也包含许多其他个性化配置,有需要的可根据官方文档修改。
编译运行casdoor
首先确保你的电脑下载了yarn,下载教程参见官方文档:https://classic.yarnpkg.com/en/docs/install#windows-stable
cd web
yarn install
yarn start
go run main.go
接下来,即可在 http://localhost:7001/ 访问 Casdoor(默认的管理员用户名和密码为 admin 和 123)。
cd web
yarn install
yarn build
go build
./casdoor
接下来,即可在 http://localhost:7001/访问 Casdoor(默认的管理员用户名和密码为 admin 和 123)