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

news2024/11/24 14:24:55

前言

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 + Reacthttps://github.com/casdoor/casdoor/tree/master/web
后端Casdoor的ResTful API 后端Golang + Beego + XORMhttps://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:8000/ 访问 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/766257.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3+antd——项目搭建初始化配置——技能提升

vue-antd-admin vue2 版本链接: https://gitee.com/iczer/vue-antd-admin?_fromgitee_search vue3 版本链接: https://github.com/stepui/stepin-template 预览地址: https://stepui.gitee.io/stepin-template 使用文档: http://stepui.gitee.io/step…

全网最全,接口测试面试题+答案,轻松拿捏面试官...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 你怎么理解get和p…

5. 缓存模块

缓存概述 对于缓存功能,相信大家都十分熟悉了。一旦我们发现系统的性能存在瓶颈需要优化时,可能第一时间想到的方式就是加缓存。缓存本质上是一种空间换时间的技术,它将计算结果保存在距离用户更近、或访问效率更高的存储介质中,…

使用supervisor启动进程open files too many问题

今天线上出现了open files too many的问题,查看问题: 1. ulimit -a查看系统最大值发现可以开启的文件句柄只有1024个 果断修复: 1. 查看全局配置文件 ls /etc/security/limits.d/ 比如环境中有如下配置文件,20-nproc.conf名字可…

e2e测试框架之Cypress

谈起web自动化测试,大家首先想到的是Selenium!随着近几年前端技术的发展,出现了不少前端测试框架,这些测试框架大多并不依赖于Selenium,这一点跟后端测试框架有很大不同,如Robot Framework做Web自动化测试本…

linux -rw-r--r-x的含义

-rw-r--r-x的含义 权限显示位一共为10位,分为四段,从第2位算起,每3个1组 -rw-r--r-x-表示为普通文件文件所属用户拥有的权限rw-:426该用户所属组拥有的权限r--:4其他用户拥有的权限r-x:415 操作英文对应数…

计及需求响应和电能交互的多主体综合能源系统主从博弈优化调度策略(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、数据、文章 💥1 概述 文献来源: 摘要:针对区域综合能源系统多物理系统耦合和多利益主体参与特点,如何考虑各运行主体调度地位与调度…

Spring初识(二)

前言 经过前面的学习,我们已经知道spring就是包含了众多方法的Ioc,那么既然是容器,就具备两个功能,我们接下来就是要介绍以下两个功能: 1.将对象存储到容器(spring)中: 2.从容器(spring)中将对象取出来. 这两个功能就应发出来,spring的创建和使用. 一.Spring创建 我们先来说…

web浏览器在线预览Excel,PDF,world文档解决方案

众所周知啊,在web浏览器中是无法直接预览Excel、world文档等文件的,PDF有的浏览器是打开预览,有的浏览器是跳转到下载页,行为不一致也是让开发者头疼的事情。 今天给大家提供一个解决方案,实现office文件在线预览的解…

vue3中使用Vue.Draggable的clone模式及遇到的坑

最近有个需求是从左边一个列表中,拖动列表元素到右边列表中,并且不是移动拖拽,而是复制拖拽,元素在右边列表中可以重复,比如左边是参加某个游戏的队员名单,右边是出场顺序,队员可以重复上场。类…

网络运维工作是什么的?

互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 724 小时为用户提供高质量的服务。 运维人员对公司互联网业务所依赖的基础设施、基础服务、线上业务进行稳定性加强,进行日常巡检发现服务…

【数学建模】数据预处理

在数学建模赛题中,官方给所有选手的数据可能受到主观或客观条件的影响有一定的问题,如果不进行数据的处理而直接使用的话可能对最终的结果造成一定的影响,因此为了保证数据的真实性和建模结果的可靠性,需要在建模之前对数据进行相…

VS工程项目中属性中无Qt设置问题解决方案

VS工程项目中属性中无Qt设置问题解决方案 若VS工程中,创建的是Qt工程,或者从Qt Creator工程转换为VS 工程时,VS项目属性中确无Qt Project Setttings等设置时,可通过如下方案解决 1. 右键项目,在下拉框中选择Qt项 2.…

微信号长时间不用会被腾讯回收

我是卢松松,点点上面的头像,欢迎关注我哦! 估计很多人不知道的一个冷知识:你的微信号并不归你本人所有,你只有账号的使用权,微信账号的所有权归腾讯公司所有。如果长期不使用,或者是违规&#…

MySQL—创建和管理表(六)

1.数据库相关操作 -- 1 创建数据库 -- 1.1 创建一个保存员工信息的数据库 CREATE DATABASE employees; -- 1.2 其他相关指令 -- 1.2.1 查看当前所有数据库 SHOW DATABASES; -- 1.2.2 “使用”一个数据库,使其作为当前数据库 USE employees;-- 2 命名规则 -- 见ppt …

虹科分享 | MACsec-先进的车载网络安全解决方案

Media Access Control Security(简称 MACsec)是以太网上最先进的安全解决方案。它为以太网上传输的几乎所有帧提供完整性保护、重放保护和可选的机密性保护。与其他解决方案相比,包括了单播、组播和广播消息以及在第2层上运行的所有协议。 M…

3D虚拟展厅和VR全景展厅该如何选择

导言: 在当今数字化时代,传统展厅已逐渐演变为3D虚拟展厅和VR全景展厅。这些技术的广泛应用为企业带来了全新的营销和展示方式。 一.3D虚拟展厅的特点和优势 3D虚拟展厅是一种基于3D技术的虚拟展示空间,通过计算机图像和模拟技术…

【C语言进阶(九)】常见内存错误以及柔性数组

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C语言学习分享⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多C语言知识   🔝🔝 常见内存错误 1. 前言2. 对NULL指针…

伦敦银价格一览表

一目均衡表(Ichimoku Kinko Hyo)是日本在二次大战前发明的行情分析方法,是全世界技术分析的鼻祖,其功能是提供市场的方向及入市位,被广泛应用于股市、债市和贵金属市场之中。日文KINKO的意思为时空平衡点,H…

Blueprint —— 入门笔记2

BP_Character Animation BlueprintBlend Space 1D 角色按键动画 命令slomo 0.1减慢时间,用于测试; 玩家输入:位移、旋转、缩放; 碰撞检测:执行动作等; 游戏开始 地图,开始游戏页面 打开地图 输入…