开发者学堂课程【Spring Security知识精讲与实战演示(三):课程说明】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/732/detail/13056
课程说明
内容介绍
一、SpringSecurity和SpringBoot整合在集中式项目中的使用
二、SpringSecurity和SpringBoot在分布式环境中的使用
前两节内容已经介绍了SpringSecurity在mc环境下如何使用,接下来介绍SpringSecurity在SpringBoot环境下如何使用。
一、SpringSecurity和SpringBoot整合在集中式项目中的使用
集中式项目,就是一台服务器,将静态页面以及后台所有的代码都放到一个项目中。
一般用到的技术选型有SpringBoot, SpringSecurity, MySQL, mybatis, jsp等。
注:
jsp在集中式项目中用起来相对简单,故使用jsp。
SpringBoot官方建议不和jsp一起使用,但是是可以一起使用的。
二、SpringSecurity和SpringBoot在分布式环境中的使用
随着业务越来越复杂,并发量越来越高,用户量越来越大,集中式服务已经不能满足项目需求了,更多的项目都选择分布式,分布式的项目开发起来可能比集中式略难一点,但是线上的话,它能经得起更高的并发,所以必须要了解SpringSecurity和SpringBoot在分布式环境中如何使用。
在分布式环境中,不仅仅要使用SpringSecurity与SpringBoot,因为SpringSecurity是默认将用户的认证信息放入section中,但分布式系统中不止一个section,如果这时候再用section来作为认证信息存储的容器已经不可行了,这时候需要加入一个技术叫JWT,通过JWT生成token来存储用户的认证信息。
在这个阶段中,还会引入RSA,用到的时候会详细介绍,一般是和JWT配合使用。
这个阶段会涉及到两个服务,一个是专门做认证的认证服务,另一个是资源服务。资源服务不仅仅是一个,在企业开发中,分布式项目除了认证这一模块之外,其它所有的模块都可以称之为资源,比如产品、订单、用户都可以称为资源。
这些资源,要保证用户登录了一个服务之后,访问其它服务就不应该再进行登录了,不能够说在用户登录完之后,访问订单还要继续登录。为方便演示,只做一个资源服务,多个资源服务的做法与一个资源服务的做法是一样的。
认证服务可以看作一个登录的服务器,资源服务看作普通的服务器。通过这两个服务器,就可以将分布式中SpringSecurity整合SpringBoot使用理解明白。