从一手资料学习--Spring Security与OAuth(一)

简介: 不知道大家对于上面的几个问题被问及的时候会心里发慌。强哥发现,大多数小伙伴对于一些工作中使用较少的知识,或者说是平常都在用,但是不需要自己去实现的知识,主动学习的积极性都比较低。

聊聊你对Spring-Security的理解?


聊聊你对OAuth2的理解?


JWT和OAuth2有什么关系?


Spring-Security和OAuth2怎么结合嘞?


你有自己搭建过认证服务器吗?


不知道大家对于上面的几个问题被问及的时候会心里发慌。强哥发现,大多数小伙伴对于一些工作中使用较少的知识,或者说是平常都在用,但是不需要自己去实现的知识,主动学习的积极性都比较低。


就拿OAuth2来说,打个最简单的比方,我们玩王者荣耀时经常会弹出选择使用微信或者QQ授权登录的界面,选择微信授权登录后,你的玩家列表里面便都是微信的好友,选择QQ授权登录后,你的玩家列表里便都是QQ的好友。这个就是OAuth2最常见的应用场景。


而很多人,在遇到不了解的知识的时候,首先就是上百度找一篇博客5分钟学习完该知识,大概的了解是干什么用的之后就不再细究了。毕竟之后有人提起来,自己能应上一两句不显得自己知识面太窄就行了。


但是真正的细聊或者要用该知识解决遇到的问题时,又会开始摸不着头脑。于是又开始各种找资料,翻视频,以便能够快速的上手和解决问题,可是这样往往事半功倍,达不到很好的效果。


而聊到找资料,又会遇到一个问题,IT知识更新的极快,网上同一个知识相关的博客描述又千奇百怪,难辨好坏。而囫囵吞枣,都看个遍,到头来其实还是只了解了个大概,如果遇到有矛盾的博客,谁对谁错也不知道。


所以强哥提倡大家在学习新技术的时候,能从一手资料学起,也就是说,通过官方文档来学习。很多小伙伴看到这肯定就会说了,当前的互联网头部知识,绝大多数都是英文文档,他娘的,学起来太费劲啦,没时间啊。


没办法,兄die,吃得苦中苦,方为人上人啊。这个人上人你懂不懂?


所以,逼逼了这么多,既然有些难,那就让强哥带着你一起从一手资料开始学习吧。虽然你看到这篇推文也是强哥的二手了,但强哥还是会进最大努力,取其精华,去其废话。把重要的内容概况或截图后分享给大家的。


这篇算是开篇,所以,就提一下学习的切入点,我们学习Spring-Security OAuth,首先作为SpringBoot的忠实粉丝,肯定是从SpringBoot官方文档入手啦,进入官网链接:


https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-security


你会发现,SpringBoot的文档可能由于着重点不同,就如SpringBoot一样,实现了过多的细节,而留给开发者的都是比较简单的入手即用的功能。


SpringBoot文档中,关于Spring-Security的内容,只是蜻蜓点水般的简单概述。


就拿OAuth2小节来说,文档中只是简单的提了该如何配置,没有更多的说明和解释,反而让人更加一头雾水,很大程度上打消初学者的学习积极性。


0.png


就像拿着一本无字天书,你看着文中它侃侃而谈,可是你却完全摸不着头脑,想要自己照着敲敲代码吧,文中的事例又不完整。


不过如果细看文档的读者可能就会发现,SpringBoot的文档虽然内容少,但是好多都有引申的链接:


1.png


例如10.3.3.Authorization Server中,便有引申链接跳转到Spring Security OAuth相关知识。而这个链接:


https://spring.io/projects/spring-security-oauth


其实才是我们应该最开始入手的地址,由此我们才算正式的开始对Spring Security OAuth的学习,同理,以后学习新的Spring相关的知识,也可以从类似的链接先入手。而不用盲目的去官网中瞎逛。


2.png


额,可是视乎好景不长,我们从文档中第一段醒目的提示,可以知道Spring Security OAuth这个项目已经被废弃了,而Spring最新的关于OAuth 2.0的支持,已经迁移到了Spring Security项目。


哦吼,大家是否有突然意识到,读官方文档的一大好处就是,你能很快的获取到第一手的信息变更情况。而如果你还是在网上随意搜索博客学习,获取到的知识可能还是旧的已经过期的内容哦。


是不是突然就真香了。


所以,坚持坚持,从第一手资料入手,还是有好处的嘛。另外,上面截图中也提到,欲练此功,必先自宫……


嘿嘿,开个玩笑。文中提到,在开始学习Spring Security OAuth之前,首先你还是需要了解OAuth是什么以及它的定位。


而既然要深入学习,那不用多说,肯定要学的彻底啦,所以下篇推文,我们就先从OAuth2.0的官网文档入手学习,等弄懂了OAuth2.0我们再回头来学习如何在Spring-Security中运用吧。


今天就先到这儿~第一篇,内容比较简单,算是开胃菜,之后慢慢的会有大菜上桌哦~

相关文章
|
15天前
|
前端开发 Java 数据库
SpringBoot学习
【10月更文挑战第7天】Spring学习
31 9
|
16天前
|
XML Java 数据格式
Spring学习
【10月更文挑战第6天】Spring学习
17 1
|
20天前
|
Java 测试技术 开发者
springboot学习四:Spring Boot profile多环境配置、devtools热部署
这篇文章主要介绍了如何在Spring Boot中进行多环境配置以及如何整合DevTools实现热部署,以提高开发效率。
43 2
|
20天前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
45 1
|
20天前
|
Java API Spring
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中拦截器的入门教程和实战项目场景实现的详细指南。
17 0
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
|
20天前
|
Java API Spring
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中过滤器的基础知识和实战项目应用的教程。
19 0
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
|
20天前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
33 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
20天前
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
17 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
20天前
|
Java 测试技术 Spring
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
这篇文章介绍了Spring Boot中配置文件的语法、如何读取配置文件以及如何通过静态工具类读取配置文件。
26 0
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
|
20天前
|
Java Spring
springboot 学习十一:Spring Boot 优雅的集成 Lombok
这篇文章是关于如何在Spring Boot项目中集成Lombok,以简化JavaBean的编写,避免冗余代码,并提供了相关的配置步骤和常用注解的介绍。
69 0