00:00
好,接下来呢,我们来看一下这个图啊,这个图呢,主要描述的就是single sign啊,就叫单点登录啊,然后这种单点登录模式呢,它是一个架构,一个概念,具体实现呢,有很多框架可以实现,比如说CS单点登录。比如说O单点登录,那么都可以去围绕着这个SSO这个概念来实现,在咱们的课程当中呢,我就简单的给他说一下,因为咱们并不会去用使用这种方式去做单点登录,我们用的是后面这种方式就是。Token模式啊,所以后面我们会重点去说这个token模式,所以前面这种呢,大家结合着这张图呢,去简单的了解一下就可以了,那么我们来看这张图吧,这个图当中呢,有三个系统,这个系统呢分别是业务A。业务B啊以及认证中心,认证中心呢,我们啊就管它叫SSO了,就叫单点登录,其实单点登录服务器主要指的就是这个认证中心好,然后呢,认证中心它只有认证模块,没有其他业务模块,只负责认证,然后呢,业务A和业务B呢,没有认证模块,只负责处理业务,所以这个是这三个相当于微服务啊,这个微服务专门处理用户认证,这个微服务专门处理业务A,这个微服专门处理业务B,好然后接下来呢。
01:23
比如说现在用户他的浏览器端,他要访问业务A的一个功能,然后业务A的这个功能呢,其实是需要用户登录才能访问的,比如说充值功能,对吧,你必须得先登录,然后呢,你才能进行充值,好那怎么做呢?那么业务A呢,就会发现用户呢,访问到了他的一个需要登录才能够啊响应的一个接口,那么直接呢啊,就跳转到我们的认证中心,好那么在这个。认证中心当中呢,他会从啊这个他的这个基本的系统当中呢,给用户弹出一个登录页面,然后用户呢,一看啊,我没登录呢,他就会在这个登录页面当中呢,输入用户名和密码进行一个登录,对吧?如果连注册都没注册,那就先注册啊,如果注册了那就登录哈,登录的过程当中呢,用户呢,肯定会输入用户名和密码对吧?好,用户输入和用户密码,匿名用户名和密码呢,提交给认证中心,好认证中心这时候做什么呢?他访问我们的用户信息数据库,呃,就相当于比如说我们买SQ的用户表,好在用户信息数据库当中呢,根据用户名和密码把这个用户信息拿到,如果没拿到,那就是用户名密码错了,如果拿到了那么就拿过来,拿过来之后呢,在认证中心当中,将这个用户信息存入我们的缓存,我们说这个用户信息缓存呢,我们可以用red来做啊,搭一个red服务器好把它存进去,然后存进去之后呢,这个时。
02:54
我们的用户是不是就相当于登录了啊好,那么认证中心呢,就会直接把这个用户,如果这个我们做的功能比较完善的话,这边登录成功了之后,认证中心呢,就会把这个浏览器啊,让浏览器直接跳转到业务A你之前最开始访问的那个页面当中去了,这样的话你就可以正常访问业务A的其他的操作了。
03:16
是是这样的,然后接下来此时此刻用户不是已经登录过了吗?啊,然后用户呢,这个时候访问用户B,访问用户B的时候呢,正好用户B呢,也是啊,就是这个访问业务B啊,正好这个业务B的这个功能呢,也是需要登录才能访问的,那这个时候呢,业务B呢,就还是跟这个用户访问业务A一样,就去认证中心去校验,你看这个用户没登录,那么就给他跳转一个登录页进来一看啊,这个用户刚才已经登录过了,怎么校验登录过的。是因为他应该先去用户信息缓存当中去查这个用户信息,一查查着了对不对,就说明用户已经登录了,登录了之后呢,他就会直接把这个业务B用户需要展示的这个页面呢,就展示给用户了,或者是说业务B用户需要访问的这个功能呢,就让用户访问了,所以这块呢,就整个是一个单点登录的一个模式啊的一个具体的过程。
04:10
然后呢,单点登录的这个SSO模式的具体的过程呢,它主要的优点呢,就是用户身份信息是独立管理的,在这个地方去管理用户身份信息,统一存在这个用户信息缓存当中,你不用存在A1份,又存在B1份,对吧?啊反正呢,我们既不存在A的三审当中,也不存在B的三当中,我们是存在独立的red服务当中,而且呢,它扩展起来呢,也非常方便,未来我们扩展其他微服务的时候,就专注于做业务逻辑就好了啊认证的这件事情呢,统一交给认证中心,好,那么他也有一个缺点,它的缺点呢,就是认证中心的访问压力比较大,你会发现无论访问哪一个微服,最后呢都要来到认证中心去做认证啊,所以这个是它的优点和缺点。
我来说两句