基于Springboot+SpringCloud+Spring Security OAuth2.0搭建的博客系统

13 篇文章 24 订阅
5 篇文章 0 订阅
前言

看过这样一段话《2022值得深思的一段话》
1.在同一辆列车上,有人感染,有人安全,这是机体免疫力
2.同样的隔离,有人一年不愁吃穿,有人一星期就经济拮据,这是财务免疫力
3.同样隔离在家,有人读书学习,空中课程很自律,有人打麻将玩游戏,混混沌沌过日子,这是价值免疫力
4.一样的灾难,有人阳光向上,勇往直前有人怨天尤人,甚至仇恨社会,这是心理免疫力。
这样灾难,是个大浪淘沙的过程,对所有人的体质、阅历、认知、人性、良知、勇气、思想、道德、灵魂、理想、价值观等都是长筛选。
所以战胜意外和不幸,所要做的是,提高所有的免疫力。

很喜欢胡歌说的一段话,也一直都记得这一段话:

人生在世,应无所住; 如果年轻,追着风走;如果相信,跟着爱走; 如果可以,随着心走;如果留恋,带着梦走;如果没有如果,也不该停留 .

记得上一次在这提到这句话还是两年前的时候,那时候毕业赶上疫情刚刚爆发,我尝试着去搭建的一篇博客网站。也是很意外和惊喜,两年后的现在疫情又一次的席卷而来,这篇文章依然是关于博客的,仿佛一切在冥冥之中运转着。

为什么要搭建博客?

首先毋庸置疑的是它能带给你一种成就感,无论好坏至少在结束的那一刻你会觉得所有的一切都是值得的。
其次我挺喜欢记录一些生活的事情的,这两年来遇到一些有趣的事情或者我喜欢的文章,我也会去记录在本子上,有句话说的好呀:“我频繁的记录生活,是因为生活值得!”,上一次搭建的博客因为一些备份方面的欠缺加上刚入行能力的不足,因此想着重新弄一个。
另外我觉得在某一段处于迷茫的时间里,不要犹豫,去找一件能让你专心去做的事情。我相信只要是有意义的不论大小,它一定能让你所有收获。《请回答1988》有一段台词印象很深:“缘分,还有时机,不是自动找上门的偶然,而是带着恳切的盼望做出的无数选择,搞怪的不是红绿灯,而是我数不清的犹豫。”

扯远了,拉回正题吧。

博客架构

上一篇博客的地址:SpringBoot+shiro+vue搭建博客完整版
有兴趣的朋友可以去看看。
下面来介绍一下这次博客的架构:

  • 环境jdk8+maven3.6
  • 技术栈:
    • 后端: springboot2.5.5+springsecurity oauth2.0 + springcloudalibaba2021.1+mybatisplus3.5.0+redis+elasticsearch+mysql+oss
    • 前端:vue+ant-design-vue

功能实现

  • 权限方面:目前只有两个角色管理员和普通用户,基于springsecurity的oauth2.0 协议进行的鉴权。也扩展了对外的开放登录接口。关于springsecurity的文章有兴趣的朋友可以查看一下我的spring security的专栏
  • 后台管理做了文章的CRUD等功能以及标签、分类的、留言、友情链接管理。
    感觉没啥好说的,具体的来看下内容吧。

二次开发

在这里插入图片描述
在这里插入图片描述

支持资源服务器动态自动装配,在新建模块时候只需要加上一个注解就能动态进行资源服务同一款管控,无需再去单独进行配置类编写。
在这里插入图片描述
在这里插入图片描述

登录

在这里插入图片描述
登录使用的auth中的密码模式,并且对返回的token进行了扩展
在这里插入图片描述
这里为了后期方便登录,我在此对原本的四种登录模式(授权码、客户端、密码、简单模式)进行扩充一个app登录功能,方便后续用户能直接通过手机号进行登录,这里我是扩展了他的登录方式

在这里插入图片描述
当然也对第三方系统提供了开放协议。
例如输入:

http://localhost:4001/oauth/authorize?client_id=open&response_type=code

重定向到统一授权页面:
在这里插入图片描述
进行授权确认
在这里插入图片描述
然后返回授权码
在这里插入图片描述

使用授权码获取token

curl -X POST “http://localhost:4001/oauth/token?grant_type=authorization_code&code=oWsgFq&client_id=open&client_secret=hy-secret&redirect_uri=http://baidu.com/”

在这里插入图片描述

代码目录展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

页面展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
差不多就是这些了,关于源码,稍后页面细节完善一下整理出来会放在这里,有兴趣的朋友可以留意一下,如有宝贵建议还请不吝赐教。再次感谢。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
### 回答1: springcloud是一个开源的微服务框架,它基于Spring Boot,并提供了一整套解决方案,用于构建分布式系统中的各个微服务。通过使用springcloud,我们可以轻松实现服务注册与发现、负载均衡、断路器、配置中心等功能,简化了微服务开发和管理的复杂度。 springboot是一个基于Spring的轻量级开发框架,它通过开箱即用的原则,提供了一种快速构建应用程序的方式。使用springboot,我们可以简化繁琐的配置,只需少量的代码即可实现一个功能完整的应用程序,并且可以方便地和其他Spring生态的框架进行集成。 OAuth2是一种授权协议,用于保护Web应用程序、移动应用程序和API的资源。通过OAuth2协议,用户可以授权第三方应用程序访问他们的资源,而无需提供他们的密码。它提供了一种安全且可扩展的机制来处理用户身份验证和授权,并且被广泛应用于各种应用程序中。 Spring Security是一个Java框架,用于提供身份验证和访问控制的功能。它可以轻松地集成到Spring应用程序中,提供了一套强大的API和安全策略,用于保护应用程序免受各种攻击,包括身份验证和授权、会话管理、密码加密等。 Redis是一种内存数据存储系统,它以键值对的形式存储数据,并支持多种数据结构,如字符串、列表、集合、有序集合等。Redis具有高速、持久化和可扩展性等特点,可用于缓存、消息队列、分布式锁等各种场景。在使用Spring框架开发时,我们可以使用Redis作为缓存层,提高应用程序的性能和响应速度。 综上所述,Spring Cloud提供了构建和管理微服务的解决方案,Spring Boot简化了应用程序的开发,OAuth2和Spring Security提供了安全和授权的功能,而Redis作为内存数据存储系统,为应用程序提供了可扩展的缓存和数据存储能力。这些技术和框架相互协作,可以帮助开发者更快速、更安全地构建分布式系统。 ### 回答2: Spring Cloud是一个用于构建分布式系统的开发工具包,它提供了多个子项目来解决分布式系统的常见问题,例如服务注册与发现、配置管理、断路器、负载均衡等。Spring Boot是用于简化Spring应用程序开发的工具,它提供了一种自动配置的方式来快速搭建和运行Spring应用。OAuth2是一个开放标准,用于授权访问特定资源,它允许用户使用某个网站的授权信息来访问其他网站上的受保护资源。Spring Security是一个全面的身份验证和授权框架,它提供了一套安全服务,用于保护Web应用程序中的资源。Redis是一个高性能的键值存储系统,它常被用作缓存、队列、消息中间件等。 结合以上几个技术,可以构建一个基于Spring Cloud的分布式系统,使用Spring Boot快速搭建各个服务,使用Spring Security进行身份验证和授权管理。而OAuth2可以用于保护系统中的资源,通过认证服务器进行用户认证和授权,使得只有授权的用户才能访问相应的资源。Spring Security与OAuth2可以集成使用,通过Spring Security提供的权限管理功能来管理不同角色对资源的访问权限。同时,将Redis作为缓存服务器,可用于提高系统的性能和响应速度。 总之,Spring CloudSpring Boot、OAuth2、Spring Security和Redis等技术可以在构建分布式系统时发挥重要作用,帮助我们快速搭建实现各个功能模块,并提供高性能和安全性。 ### 回答3: Spring Cloud是一套基于Spring Boot的微服务框架,它提供了在分布式系统中构建和管理各种微服务的解决方案。它具有服务注册与发现、负载均衡、熔断、服务网关等功能,可以方便地实现微服务架构。 Spring Boot是一个用于快速开发基于Spring框架的应用程序的工具,它简化了Spring应用程序的配置和部署流程。它提供了自动化配置、内嵌服务器、开箱即用的特性,使得我们只需要关注业务逻辑的开发而不用过多关注框架的配置。 OAuth2是一种开放标准的授权协议,它使得用户可以通过授权的方式将与用户相关的信息共享给第三方应用程序。它使用令牌的方式进行授权,具有安全性高、可扩展性好的优点,常用于实现单点登录和授权管理。 Spring Security是一个用于在Java应用程序中提供身份验证和访问控制的框架。它可以与Spring BootSpring Cloud集成,提供了认证、授权、密码加密等功能,帮助我们更好地保护应用程序的安全。 Redis是一种高性能的键值存储系统,它支持多种数据结构,如字符串、列表、哈希表等。它具有高并发读写、持久化、分布式等特点,常用于缓存、消息队列、会话管理等场景。 综上所述,Spring Cloud提供了构建微服务的解决方案,Spring Boot简化了Spring应用程序的开发,OAuth2实现了授权管理,Spring Security提供了身份验证和访问控制,而Redis则可以用于缓存和数据存储。这些技术的结合可以帮助我们构建安全、高效的分布式系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈橙橙丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值