部署开源项目 Casdoor 身份认证管理系统到本地

前言

Casdoor是一个基于OAuth 2.0、OIDC、SAML 和 CAS 的,UI-first的身份和访问管理(IAM)/单点登录(SSO)平台。使用 Go 和react开发,前后端分离,内置第三方应用登录服务。
在这里插入图片描述
Casdoor 有四个核心概念,分别是 组织(Organization)用户(User)应用(Application)提供商(Provider)。组织承载用户和应用,一个用户只能隶属于一个组织,但可以登录到自己组织的多个应用中;而提供商则代表了某种身份验证方式,例如电子邮件验证、短信验证、OAuth 验证等。

部署 Casdoor

安装要求

操作系统

支持所有主流的操作系统,包括Windows、Linux和macOS。

环境

  • 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/

数据库

Casdoor使用 XORM 与数据库进行交互。 基于 Xorm Drivers Support, 当前支持的数据库包括:

  • 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

Casdoor支持 Go Modules。 要下载代码,您直接通过git克隆仓库就可以了:

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
    前往 ./conf/app.conf 配置数据库信息,例如对于 MySQL,使用如下的配置文件:
    driverName = mysql
    dataSourceName = root:123456@tcp(localhost:3306)/
    dbName = casdoor
    
    此文件也包含许多其他个性化配置,有需要的可根据官方文档修改。

编译运行casdoor

首先确保你的电脑下载了yarn,下载教程参见官方文档:https://classic.yarnpkg.com/en/docs/install#windows-stable
简单来说就是:

npm install yarn -g
  • 若想将 Casdoor 运行在开发模式下,则分别输入以下指令以编译并运行 Casdoor 的前端和后端服务:
cd web
yarn install
yarn start
go run main.go

接下来,即可在 http://localhost:7001/ 访问 Casdoor(默认的管理员用户名和密码为 admin 和 123)。

  • 若想将 Casdoor 运行在生产模式下,则首先输入以下指令编译前端文件:
cd web
yarn install
yarn build

然后,编译并运行 Casdoor 的后端程序:

go build
./casdoor

接下来,即可在 http://localhost:7001/访问 Casdoor(默认的管理员用户名和密码为 admin 和 123)。

ps:如果npm和yarn下载包异常可以参见这篇文章:npm和yarn换成淘宝源仍报错npm ERR! code ETIMEDOUT和info There appears to be trouble with your network…

成果

在这里插入图片描述
在这里插入图片描述
至此,casdoor项目部署成功。
参考官方文档:https://casdoor.org/zh/docs/overview

猜你喜欢

转载自blog.csdn.net/m0_63230155/article/details/131787823