Score
0
Watch 147 Star 497 Fork 141

awesome-engineer / awesome-adminJavaMIT

Join us
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
管理后台脚手架: Spring Coud微服务 + Spring Security SSO + JWT Token +自定义登陆页面 + 前后端分离 + Ant Design Pro + K8s部署 +Swagger + 多数据源 + Redis spread retract

https://admin.awesome-coder.com

  • JavaScript 83.8%
  • CSS 8.3%
  • Java 6.8%
  • HTML 0.9%
  • Dockerfile 0.1%
  • Other 0.1%
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
readme.md

学习交流

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

Comments ( 8 )

Sign in for post a comment

Java
1
https://gitee.com/awesome-engineer/awesome-admin.git
git@gitee.com:awesome-engineer/awesome-admin.git
awesome-engineer
awesome-admin
awesome-admin
master

Help Search