• Stars
    star
    3,712
  • Rank 11,897 (Top 0.3 %)
  • Language
    Go
  • License
    Other
  • Created over 3 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

企业级的 Go 语言实战项目:认证和授权系统(带配套课程)

IAM - 身份识别与访问管理系统

IAM = Identity and Access Management

IAM 是一个基于 Go 语言开发的身份识别与访问管理系统,用于对资源访问进行授权。最新稳定版本为:v1.6.2,建议基于稳定版安装测试

这里需要注意:

  • 如果你是极客时间《Go 语言项目开发实战》专栏的读者,请使用 v1.1.0 版本(tag)
  • 如果你是图书《从零构建企业级 Go 项目》的读者,请使用 v1.6.t2 版本(tag)

更详细的版本映射请参考:版本映射

IAM 同时也具有以下能力:

  1. 配合极客时间专栏 Go 语言项目开发实战,讲解如何用 Go 做企业级应用的开发,是该项目的理论课程,包含了项目各个知识点和构建思路的讲解,也会包含我的一线研发经验和建议。

  2. 作为一个开发脚手架,供开发者克隆后二次开发,快速构建自己的应用。

IAM 项目会长期维护、定期更新,欢迎兄弟们 Star & Contribute

功能特性

本项目用到了Go企业开发的大部分核心技能点,见下图:

技术思维导图

更多请参考:marmotedu/gocollect

软件架构

IAM架构

架构解析见:IAM 架构 & 能力说明

快速开始

依赖检查

  1. 服务器能访问外网

  2. 操作系统:CentOS Linux 8.x (64-bit)

本安装脚本基于 CentOS 8.2 安装,建议你选择 CentOS 8.x 系统。其它Linux发行版、macOS也能安装,不过需要手动安装。

快速部署

快速部署请参考:IAM 部署指南

IAM 项目还提供了更详细的部署文档,请参考:手把手教你部署IAM系统

构建

如果你需要重新编译IAM项目,可以执行以下 2 步:

  1. 克隆源码
$ git clone https://github.com/marmotedu/iam $GOPATH/src/github.com/marmotedu/iam
  1. 编译
$ cd $GOPATH/src/github.com/marmotedu/iam
$ make

构建后的二进制文件保存在 _output/platforms/linux/amd64/ 目录下。

使用指南

IAM Documentation

如何贡献

欢迎贡献代码,贡献流程可以参考 developer's documentation

社区

You are encouraged to communicate most things via GitHub issues or pull requests.

关于作者

为了方便交流,我建了微信群,可以加我 微信:nightskong,拉你入群,方便交流。

谁在用

如果你有项目在使用iam系统模板,也欢迎联系作者,加入使用案例。

许可证

IAM is licensed under the MIT. See LICENSE for the full license text.

More Repositories

1

geekbang-go

极客时间 《Go 语言项目开发实战》课程补充教程。
Go
468
star
2

awesome-books

📚 集合各类精品 IT 技术书籍,方便大家进行学习,也会推荐一些书,定期更新,长期维护!
379
star
3

miniblog

从设计、开发、测试到部署,带你从零实现高质量的 Go 应用
Go
204
star
4

goserver

教你快速开发一个企业级的Go后端服务(教程 + 代码;Go入门项目)
Go
124
star
5

gopractise-demo

Go语言企业级项目开发实战一书Demo
Go
104
star
6

errors

基于github.com/pkg/errors包,增加对error code的支持,完全兼容github.com/pkg/errors
Go
103
star
7

gocollect

Go项目Demo功能需求收集(会开源一个Demo涵盖所有功能展示)
77
star
8

superproj

一个包罗万象的 Go 项目开发脚手架
39
star
9

sample-code

适配于 `github.com/marmotedu/errors` 错误包的错误码实现
Go
36
star
10

marmotedu-sdk-go

A client-go like go sdk used by marmotedu
Go
35
star
11

addlicense

A program which ensures source code files have copyright license headers by scanning directory patterns recursively
Go
34
star
12

medu-sdk-go

marmotedu 另一种sdk实现思路(仿照:tencentcloud-sdk-go、aws-sdk-go、ucloud-sdk-go、jdcloud-sdk-go等)
Go
20
star
13

log

log package based on `github.com/tkestack/tke/pkg/util/log`
Go
18
star
14

component-base

Scheme, typing, encoding, decoding, and conversion packages for IAM and IAM-like API objects.
Go
14
star
15

go-standards

iam项目,go目录规范
13
star
16

marmotVim

SpaceVim离线安装
Shell
12
star
17

template

一些模板,例如:Makefile、.gitignore、golangci.yaml、README.md等
Makefile
9
star
18

api

Schema of the API types that are served by the IAM API server.
Go
6
star
19

windows-efficiency-tools

windows效率工具
AutoHotkey
5
star
20

gitflow-demo

Git工作流示例项目
2
star
21

community

marmotedu community content
1
star
22

helloci

GitHub Actions Getting Start
Dockerfile
1
star
23

apimachinery

Scheme, typing, encoding, decoding, and conversion packages for IAM and IAM-like API objects
Go
1
star