springboot SSO 单点登录,OAuth2实现,支持App登录,支持分布式

Overview

smart-sso

License PRs Welcome GitHub stars GitHub forks

QQ交流群:454343484 🈵 、769134727

简述

   smart-sso使用当下最流行的SpringBoot技术,基于OAuth2认证授权协议,为您构建一个易理解、高可用、高扩展性的分布式单点登录应用基层。

相关文档

组织结构

smart-sso
├── smart-sso-client -- 客户端依赖包
├── smart-sso-client-redis -- 客户端依赖包,分布式redis支持
├── smart-sso-demo -- 客户端
├── smart-sso-server -- 服务端

单点登录原理

在这里插入图片描述

单点退出原理

在这里插入图片描述

效果展示

单点登录页

在这里插入图片描述

服务端登录成功页

在这里插入图片描述

客户端登录成功页

You might also like...

基于WebSocket实现Web端聊天系统【Vue+SpringBoot】

本项目里面的demo后端都是基于Java,前端基于Vue,数据库MySql。 一、运行demo 下载代码后,先配置好yml文件:数据库和微信号appid、secret(other包下面有数据库)。

Jan 6, 2023

以教学为目的的电商系统。包含ToB复杂业务、互联网高并发业务、缓存应用;DDD、微服务指导。模型驱动、数据驱动。了解大型服务进化路线,编码技巧、学习Linux,性能调优。Docker/k8s助力、监控、日志收集、中间件学习。前端技术、后端实践等。主要技术:SpringBoot+JPA+Mybatis-plus+Antd+Vue3。

以教学为目的的电商系统。包含ToB复杂业务、互联网高并发业务、缓存应用;DDD、微服务指导。模型驱动、数据驱动。了解大型服务进化路线,编码技巧、学习Linux,性能调优。Docker/k8s助力、监控、日志收集、中间件学习。前端技术、后端实践等。主要技术:SpringBoot+JPA+Mybatis-plus+Antd+Vue3。

简介 bcMall 是一个以教学为目的的电商系统。bcMall将为你展现一个典型的系统演进过程,所使用的主流技术完全开放。 它包含ToB复杂业务、互联网高并发业务、缓存应用;DDD、微服务指导。模型驱动、数据驱动。了解大型服务进化路线,编码技巧、学习Linux,性能调优。Docker/k8s助力、监

Jan 3, 2023

🦄 开源社区系统:基于 SpringBoot + MyBatis + MySQL + Redis + Kafka + Elasticsearch + Spring Security + ... 并提供详细的开发文档和配套教程。包含帖子、评论、私信、系统通知、点赞、关注、搜索、用户设置、数据统计等模块。

🦄 开源社区系统:基于 SpringBoot + MyBatis + MySQL + Redis + Kafka + Elasticsearch + Spring Security + ... 并提供详细的开发文档和配套教程。包含帖子、评论、私信、系统通知、点赞、关注、搜索、用户设置、数据统计等模块。

Echo — 开源社区系统 项目上线到服务器之后可能会出现各种各样的 BUG,比如 Elasticsearch 服务启动失败导致搜索模块不可用,但是在本地运行是完全没问题的,所以各位小伙伴可以放心下载部署。 📚 项目简介 Echo 是一套前后端不分离的开源社区系统,基于目前主流 Java Web

Jan 7, 2023

(周瑜)Java - SpringBoot 持久化 WebShell

工具仅用于安全研究,禁止使用工具发起非法攻击,造成的后果使用者负责 ZhouYu - 周瑜 Java - SpringBoot 持久化 WebShell 背景:后Spring时代,SpringBoot jar部署模式下,一般没有了JSP,所有的模板都在jar内,当大家都热衷于内存马的时候,发现很容

Dec 22, 2022

backend for a sharing app using SpringBoot, Redis, MySQL, and AWS S3.

backend for a sharing app using SpringBoot, Redis, MySQL, and AWS S3.

moments_v2_backend (Work In Progress) backend for a sharing app using SpringBoot, Redis, MySQL, and AWS S3. This is the second version of my project S

Dec 26, 2022

Hcode Online Judge(HOJ):An open source online judge system base on SpringBoot, Springcloud Alibaba and Vue.js !

Hcode Online Judge(HOJ):An open source online judge system base on SpringBoot, Springcloud Alibaba and Vue.js !

Hcode Online Judge(HOJ) 前言 基于前后端分离,分布式架构的在线测评平台(hoj),前端使用vue,后端主要使用springboot,redis,mysql,nacos等技术。 在线Demo:https://hdoi.cn 在线文档:https://www.hcode.top/

Dec 31, 2022

Dynamic Configuration Capability for SpringBoot Application

Dynamic Configuration Capability for SpringBoot Application

Spring Boot Dynamic Config Hot-reload your SpringBoot configurations, with just a '@DynamicConfig' annotation, the simplest solution, ever. English 简体

Jan 3, 2023

⭐⭐⭐SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统

⭐⭐⭐SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统

分布式高并发商品秒杀系统 介绍 快速启动 TODO 压测结果 Q&A 介绍 本项目为另一个项目dis-seckill的压力测试版本,重点工作为优化秒杀接口性能,提高单机系统并发瓶颈。 完整项目dis-seckill扩展包括 项目基础技术点和流程图介绍; 接口安全优化; 系统限流与降级服务; Ngin

Sep 2, 2022

⭐⭐⭐⭐SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统

⭐⭐⭐⭐SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统

分布式高并发商品秒杀系统 介绍 快速启动 项目架构图 项目入门 TODO Q&A 参考资料 介绍 本项目是在dis-seckill上改进,项目名含义为分布式秒杀系统。采用微服务思想,意在提高秒杀系统的整体性能。 改进点: 优化秒杀流程,提高单机系统性能瓶颈。dis-seckill-test 接口安全

Jan 2, 2023
Comments
  • Bump spring-core from 4.2.1.RELEASE to 4.3.19.RELEASE in /smart-sso/smart-sso-demo

    Bump spring-core from 4.2.1.RELEASE to 4.3.19.RELEASE in /smart-sso/smart-sso-demo

    Bumps spring-core from 4.2.1.RELEASE to 4.3.19.RELEASE.

    Commits
    • f428cbb Release version 4.3.19.RELEASE
    • 6a5d986 Fix SpEL compilation for non trivial elvis operand
    • 8ce9236 Polishing
    • 1a626ab SpelExpression consistently exposes EvaluationContext to compiled AST
    • 56194a1 Transactional timeout documented as seconds in annotation javadoc
    • a496836 Upgrade to Tomcat 8.5.33 and Netty 4.1.29
    • 974e7b8 Polishing
    • 069704f Support Jackson filters in combination with serialization view
    • d38eb9d SimpleAliasRegistry.hasAlias properly resolves multiple chained aliases
    • 5bd4f88 Polishing
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • add junit4 test plugin in pom.xml, and fix error in parent smart-pom.xml

    add junit4 test plugin in pom.xml, and fix error in parent smart-pom.xml

    according to issue: #22, add Junit4 cest logic

    • Add ignore policy of Mac PC in .gitignore file.
    • Add surefire-junit4 plugin to build junit4 test in parent smart-pom.xml.
    • Fix pom error in parent smart-pom.xml, those are :
      • [can't find ${catalina.home}] ---> comments them on line 25 & 36.
      • Correct wrong configuration maven-resources-plugin , changed it to tomcat7-maven-plugin and set version is 2.2
    • Add test resource component in parent smart-pom.xml. It is used to recognize Maven Test folder
    • Add junit4 reference in smart-mvc pom.xml
    • Create Junit4 test class StringUtilsTest.java and create Junit 4 test case in this class. /

    Chinese version:

    针对issue: #22 增加了单元测试

    • 针对Mac电脑在.gitignore文件中增加ignore规则
    • 在父类smart-pom.xml中增加 surefire-junit4 引用以便可以进行junit测试.
    • 修复父类pom中的编译错误: :
      • [can't find ${catalina.home}] ---> 注释掉了 25 & 36 行, 在该两行中无法找到catalina.home
      • 更正错误的插件配置: 将maven-resources-plugin 更改为 tomcat7-maven-plugin,设置其版本为 2.2
    • 增加 test resource 节点在 parent smart-pom.xml中. 默认maven项目中会有main和test文件夹,由于之前一直没有做junit测试,导致test文件夹为空, 无法上传到github中. 在pom中增加配置, 之后会自动识别测试文件夹
    • 增加junit4 引用在smart-mvc pom.xml文件中, 该point和第2点结合后才可以正确的引用Junit4 jar包, 才可以做junit测试
    • 创建Junit4 测试类:StringUtilsTest.java 并且创建 Junit 4 测试用例
    opened by bluetata 1
  • Bump fastjson from 1.2.69 to 1.2.83

    Bump fastjson from 1.2.69 to 1.2.83

    Bumps fastjson from 1.2.69 to 1.2.83.

    Release notes

    Sourced from fastjson's releases.

    FASTJSON 1.2.83版本发布(安全修复)

    这是一个安全修复版本,修复最近收到在特定场景下可以绕过autoType关闭限制的漏洞,建议fastjson用户尽快采取安全措施保障系统安全。

    安全修复方案https://github.com/alibaba/fastjson/wiki/security_update_20220523

    Issues

    1. 安全加固
    2. 修复JDK17下setAccessible报错的问题 #4077

    fastjson 1.2.79版本发布,BUG修复

    这又是一个bug fixed的版本,大家按需升级

    Issues

    1. 修复引入MethodInheritanceComparator导致某些场景序列化报错的问题
    2. 增强JDK 9兼容
    3. 修复JSONArray/JSONObject的equals方法在内部对象map/list相同时不直接返回true的问题

    相关链接

    fastjson 1.2.76版本发布,BUG修复增强兼容

    这又是一个bug fixed的版本,大家按需升级

    Issues

    1. 修复一些直接抛RuntimeException的问题 #3631
    2. parser自动识别gzip bytes #3614
    3. 修复Throwable继承类属性不支持自动类型转换问题 #3217
    4. 修复PrettyFormat情况下引用计算不对的问题 #3672
    5. 修复AutoType不兼容LinkedHashMap的问题
    6. 增强对Enum类型的自定类型转换
    7. 修复deserializeUsing在泛型某些场景不能正常工作的问题 #3693
    8. 提升JSONReader性能,减少小对象创建 #3627
    9. 增强对JSONPath对filter的支持 #3629
    10. JSONPath支持忽略NullValue的选项 #3607
    11. 增强对定制化enum的支持 #3601
    12. 增强对java.time.Instant和org.joda.time.Instant的支持 #3539
    13. 修复Parser某些场景不能识别引用的问题

    相关链接

    fastjson 1.2.75版本发布,例行Bug修复

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(2.1.1)
  • 2.1.1(Nov 18, 2020)

    1.springboot单点登录 2.OAuth2实现 3.支持App登录 4.支持分布式

    QQ交流群:454343484🈵、769134727 相关文档地址:https://blog.csdn.net/a466350665/article/details/54140411

    Source code(tar.gz)
    Source code(zip)
Owner
Joe
Joe
基于SpringCloud2.1的微服务开发脚手架,整合了spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway等。服务治理方面引入elasticsearch、skywalking、springboot-admin、zipkin等,让项目开发快速进入业务开发,而不需过多时间花费在架构搭建上。持续更新中

快速开始 先决条件 首先本机先要安装以下环境,建议先学习了解springboot和springcloud基础知识。 git java8 maven 开发环境搭建 linux和mac下可在项目根目录下执行 ./install.sh 快速搭建开发环境。如要了解具体的步骤,请看如下文档。 具体步骤如下:

zhoutaoo 7.9k Jan 6, 2023
springboot 框架与其它组件结合如 jpa、mybatis、websocket、security、shiro、cache等

致歉 由于自己懒以及身体对issuse 解决的不及时。请大家以后提issuse 的时候写清楚 模块名 比如“springboot-SpringSecurity4” 和问题,我会抽时间抓紧解决。 springboot-SpringSecurity0 包含两部分代码: 第一是 博客 springboot

abel 5.9k Jan 5, 2023
lamp-cloud 基于SpringCloud(Hoxton.SR10) + SpringBoot(2.3.9.RELEASE) 的微服务快速开发平台,其中的可配置的SaaS功能尤其闪耀, 具备RBAC功能、网关统一鉴权、Xss防跨站攻击、自动代码生成、多种存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释齐全,架构清晰,非常适合学习和企业作为基础框架使用。

《灯灯》中后台快速开发平台 lamp 项目名字由来 叙事版: 在一个夜黑风高的晚上,小孩吵着要出去玩,于是和程序员老婆一起带小孩出去放风,路上顺便讨论起项目要换个什么名字,在各自想出的名字都被对方一一否决后,大家陷入了沉思。 走着走着,在一盏路灯下,孩砸盯着路灯打破宁静,喊出:灯灯~ 我和媳妇愣了一

最后 4.7k Jan 5, 2023
dynamic datasource for springboot 多数据源 动态数据源 主从分离 读写分离 分布式事务

一个基于springboot的快速集成多数据源的启动器 简介 dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据源的启动器。 其支持 Jdk 1.7+, SpringBoot 1.4.x 1.5.x 2.x.x。 文档 | D

baomidou 3.8k Dec 31, 2022
SpringBoot 基础教程 | 从入门到上瘾 | 基于2.0.0.M5制作

推荐阅读本教程的三大理由: 文章内容均为原创,结合官方文档和实战经验编写。 文章结构经过细致整理,对新人学习更加友好。 精选常用技术,不求全面,但求精华!! SpringBoot 源码精读 图文教程 源码下载:《SpringBoot 基础教程-Git 》 — Hey Man,Don't forget

一只袜子 2.5k Dec 29, 2022
一个能够获取随机图片的 Api,使用 SpringBoot 构建

Random-Image-Api Random-Image-Api 一个能够获取随机图片的 Api,基于 Spring Boot 构建 可读取本地图片列表的地址,并提供随机访问服务,可配置域名白名单访问 项目说明 程序启动的时候会自动加载 项目路径/list 文件夹下的所有列表文件; 图片列表文件:

陈亚伟 1.3k Dec 21, 2022
SpringBoot 脚手架,简化项目构建

EasyRiggerInitializr | SpringBoot 脚手架,简化项目构建 作者: 小傅哥,Java Developer, ✏️ 虫洞 · 科技栈,作者, ?? CSDN 博客专家 本代码库是作者小傅哥多年从事一线互联网Java开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教

小傅哥 81 Nov 20, 2022
基于 springboot websocket 的群聊实现

基于 springboot websocket 的群聊实现 功能列表 分布式 同一帐号多设备登录 群聊 多设备 简单鉴权 心跳检查 依赖 maven jdk11 redis redis 配置 redis 默认使用 localhost:6379。如果需要修改 host:port,可以修改 applic

yemingfeng 8 Jun 9, 2021
Java 项目快速开发脚手架。核心技术采用 SpringBoot、MyBatis、Thymeleaf、Bootstrap。

前言 闲来无事,整一个 Java 项目快速开发脚手架。 正文 一、简介 Chewing 是一个简单的 Java 项目快速开发脚手架。既适合需要开发小型项目的小伙伴使用,也适合刚入门的新手用来学习一些常用的技术。 二、源码 Github:https://github.com/jingqueyimu/c

null 33 Sep 26, 2022