Git Product home page Git Product logo

ruoxingzpc / awesome-admin Goto Github PK

View Code? Open in Web Editor NEW
21.0 2.0 3.0 1.13 MB

管理后台脚手架: Spring Coud微服务 + Spring Security SSO + JWT Token +自定义登陆页面 + 前后端分离 + Ant Design Pro + K8s部署 +Swagger + 多数据源 + Redis

Home Page: https://admin.awesome-coder.com

License: MIT License

Dockerfile 0.08% Java 7.25% HTML 0.91% JavaScript 83.46% Shell 0.02% CSS 8.29%
spring-cloud ant-design-pro spring-security-oauth2 jwt-token react

awesome-admin's Introduction

学习交流

QQ群:930389350

微信群:ruoxing_zpc,kyon000

输入图片说明 输入图片说明

V1.0.0

项目介绍

本项目基于Spring Cloud 和Ant Design Pro实现前后端管理平台一站式脚手架,便于快速开发企业级应用。我们的愿景是 基于Copy&Paste技术,实现面向Google&Baidu编程,让码农搬砖不累,做更好的良民。

项目实现:

  1. admin-service基于Spring Cloud Hoxton.RELEASE(Spring boot 2.2.2RELEASE)实现配置、注册、认证等通用服务,实现一键式生产级微服务框架
  2. Spring Security基于Oauth2认证并生成JWT Token,并自定义SSO统一登录页面,实现标准认证协议,保证登陆安全
  3. 基于Ant Design Pro实现admin-ui, 前后端分离,使用Spring Security SSO登录页面登录,并基于JWT Token实现权限控制。全栈工程师,前后端一站式服务。
  4. 所有服务均编写了DockerFile文件,可以立即实现K8s部署。实现了阿里云云效的release文件,建议通过阿里云云效实现持续集成持续交付部署,目前我们的环境云效会自动监听git代码提交,当发生代码提交时,自动编译并部署到测试的k8s容器集群环境
  5. Ironman服务中实现多数据源配置,redis配置,Feign, ribbon, 并通过注解实现基于JWT Token中角色控制API访问权限
  6. 增加Swagger配置,实现自动生成api文档
  7. Config服务实现测试环境和生产环境配置文件隔离
  8. Registry服务支持多实例高可用部署
  9. Monitor服务实现Spring Boot Admin 监控服务
  10. Gateway服务实现网关服务。生产环境如果使用K8s部署,因为有内部DNS和路由,不需要部署

演示地址

https://admin.awesome-coder.com

用户名:admin 密码:admin

admin-service

描述

建立Spring Cloud常用微服务,包括配置服务、注册服务、认证服务,满足中小企业及个人基础框架开箱即用。支持采用阿里云云效服务和kubernetes容器服务实现生产级持续部署持续集成。

Spring cloud中最复杂的其实是认证服务,本项目认证服务已经支持

  1. 实现Oauth2认证生成JWT Token
  2. 定义统一登录页面实现sso登录
  3. 支持自定义认证方式,实现多种方式认证
  4. 支持直接通过API直接获取JWT Token,满足小程序、微信公众号等已经认证过需要直接获取token的场景
启动服务
- 首先启动config服务和registry服务
- 启动auth服务
- 通过注册服务http://localhost:8761 即可查看启动的服务

注册服务 - 如需要启动监控服务,可以启动monitor服务,访问端口为http://localhost:8001

admin-ui

描述

本项目基于 Ant Design Pro V4.0 定制开发,加入以下内容:

  1. 通过Spring Security中的统一登录平台进行登录
  2. 基于后台返回的jwt token 中的角色进行权限认证
  3. 增加 nodejs server 端 Koa、Koa Router,可以直接部署
  4. 增加 dockerfile 文件,可以通过k8s进行部署

启动

  1. 安装依赖
sudo npm install tyarn -g
tyarn install

或者

sudo npm install cnpm -g
cnpm install
  1. 启动项目
npm start
  1. 启动服务端 至admin-ui目录下
node ./server/app.js

编译项目

npm run build

login-ui

本项目用于Spring Security中的统一登录�前端界面,实现后,需要将打包后的生产文件(build/)拷入微服务auth项目下(resources/public)

本地测试运行

$ npm install
$ npm start

打包

$ npm run build

效果

  1. 浏览器输入localhost:8000后会自动跳转到登录页 登录

  2. 输入用户名和密码 admin/admin后,跳转到首页 首页

  3. Cookie中JWT Token JWT Token

  4. 监控服务localhost:8001效果(如果启动了monitor服务,用户名和密码为admin/admin) 监控应用

应用详情

  1. 移动端效果

输入图片说明

输入图片说明

文档

  1. Spring Security认证基本原理 https://www.jianshu.com/p/f3a0fb302ef1
  2. Spring Security OAuth2.0自定义登录页面 + JWT Token配置 https://www.jianshu.com/p/122dace5d570
  3. Spring Secutity 添加过滤器实现自定义登录认证 https://www.jianshu.com/p/68885d0e1cd9
  4. Spring Security 自定义生成JWT Token API https://www.jianshu.com/p/afed86fb90bb

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.