1.Spring条件加载原理(@Conditional,@ConditionalOnXXX注解)

https://fangjian0423.github.io/2017/05/16/springboot-condition-annotation/

https://www.jianshu.com/p/1d0fb7cd8a26

https://www.jianshu.com/p/ff8b18485b7a

https://www.cnblogs.com/dyppp/p/7732084.html

https://www.cnblogs.com/doit8791/p/8792978.html

2.@ConfigurationProperties注解

https://blog.csdn.net/u013725455/article/details/79352459

https://blog.csdn.net/guduyishuai/article/details/70879952

https://www.cnblogs.com/liaojie970/p/8043150.html

3.@PropertySource注解结合@ConfigurationProperties、@Value注解

https://blog.csdn.net/wangmx1993328/article/details/81005170

https://yq.aliyun.com/ziliao/385726

https://www.cnblogs.com/whx7762/p/7885735.html

4.Spring Boot自动装配原理

https://www.jianshu.com/p/4a6094542f45

https://blog.csdn.net/yuanjinq/article/details/78162308

https://www.cnblogs.com/leihuazhe/p/7743479.html

5.@EnableXXX注解原理

https://blog.csdn.net/qq_30038111/article/details/80198967

https://www.cnblogs.com/lzmrex/p/9915877.html

https://blog.csdn.net/chengqiuming/article/details/81586948

6.@EnableConfigurationProperties注解

https://www.jianshu.com/p/7f54da1cb2eb

https://blog.csdn.net/qq_21989939/article/details/78873696

7.动态刷新注解@refreshscope原理和使用

https://www.cnblogs.com/yjmyzz/p/8085530.html

https://www.jianshu.com/p/188013dd3d02

https://blog.csdn.net/kangkanglou/article/details/76168628

https://www.jianshu.com/p/35172d7cb157

https://www.cnblogs.com/flying607/p/8459397.html

8.异步(多线程)执行注解@EnableAsync和@Async

http://www.cnblogs.com/lcngu/p/6185363.html

https://blog.csdn.net/u014231523/article/details/76272273/

@Async不要修饰static方法,否则异步不生效:

http://www.cnblogs.com/azhqiang/p/5609615.html

配置自定义异步线程池的两种方式:

https://blog.csdn.net/qq_39385706/article/details/79365849

9.@SpringCloudApplication注解

https://blog.csdn.net/tt____tt/article/details/81080200

10.@EnableGlobalMethodSecurity注解

https://blog.csdn.net/l18767118724/article/details/72934564

https://www.jianshu.com/p/41b7c3fb00e0

https://blog.csdn.net/w605283073/article/details/51327182

一个结合OAuth2完整实现的例子:

http://lxgandlz.cn/403.html

和@EnableWebSecurity的区别:

https://stackoverflow.com/questions/29721098/enableglobalmethodsecurity-vs-enablewebsecurity

11.OAuth2鉴权流程

直接访问连接到认证服务器且设有鉴权成功后的访问权限的资源服务器会提示未认证,而拒绝访问。

所以需要先访问认证服务器,认证成功。这里是用Postman传递用户名/密码模式的相关client认证头和POST请求参数到

认证服务器的/oauth/token端点获取accessToken信息,这个信息在认证服务器中被封装了用户名和权限列表后生成jwt返回。

获取到accessToken之后,使用Postman以此作为认证头信息访问资源服务器,资源服务器会解析这个头,到认证服务器获取

相关解密密码,获取到Authentication信息。这里就包括生成jwt前在认证服务器被封装的用户名和权限列表信息。将用户访问的

资源url与用户所拥有的权限列表,按照资源服务器的认证规则进行比较,来决定该用户对该url的访问是否被授权。如果被授权,

可正常访问,获取到返回结果,否则仍然返回无权访问。

在实际生产环境,前后端分离。资源服务是统一配置在网关的。前端访问网关任何资源均被先导入到认证服务器的登录页面,登录后进行认证,认证

成功后返回accessToken给前端。前端带着accessToken重定向资源访问,按url和accessToken解析出的权限进行比对,有授权则正常访问该网关资源。

最新文章

  1. Go语言开发第一个Hello,World
  2. JavaScript If...Else 语句
  3. SQL获取本周、本月、本季度的记录的语句
  4. HTTP响应消息中的状态代码
  5. 页面无法加载main.css
  6. TYVJ 1117 BFS
  7. 分层开发之MySchool
  8. oracle pfile spfile
  9. SharePoint 2013 手动删除爬网项目
  10. Missing artifact com.sun:tools:jar:1.5.0的解决方案
  11. iOS:关于获取网络类型和运营商信息
  12. Apache-POI操作Excel的一些小技巧
  13. 处理PHP中字符串的常用操作及函数
  14. 关于WSL(Windows上的Linux子系统)的介绍
  15. ●BZOJ 4176 Lucas的数论
  16. Flexible DEMO 实现手淘H5页面的终端适配
  17. WinForm 水晶报表的简单使用
  18. KVO的使用二:常用方法及小技巧
  19. JavaSE基础知识(5)—面向对象(对象数组和对象关联)
  20. 使用PHP进行SOCKET编程

热门文章

  1. c#之如何计算哈希值字符串
  2. Eclipse + Pydev问题 : pydev unresolved import
  3. leetCoder-wordBreak判断能否分词
  4. <2>基本表达式和语句
  5. 代码审查Code Review
  6. Python - 5.Exception Handling
  7. 宏和函数的区别(一个BUG的总结)
  8. max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
  9. 洛谷 P1106 删数问题
  10. 人人网(cookie登录)