初级JAVA程序员应该掌握的单点登陆知识

什么是单点登录

一个系统登陆,其他系统也登陆
举个例子,你同时打开淘宝和天猫,你会发现当你登陆淘宝的时候,你发现你的天猫也登陆了!!

单点登录的原理

解决方案:CAS
CAS是单点登录方法,也就是多个系统使用一套登陆系统的思想来解决上述问题

CAS原理解析

前提

假设有ABCDEFG三个业务系统,三个业务系统使用统一的登陆系统X

问题

例如用户已登陆A系统,如何让他直接可以登录B系统?

实现是这样子的

首先,分析用户登陆A系统,
在登陆系统之前先跳转到X系统,
根据token判断有没有登陆,
如果已经登陆,将token传给A系统
如果验证后没有登陆,
输入用户密码没错后获得token,并跳转至A系统

这样,用户在A系统登陆后,X系统存着token,
登陆B系统时,就直接拿着从X系统获得的token就登上了

举例

登陆淘宝天猫时都用到了:https://login.taobao.com/member/login.jhtml?(X系统)
而redirectURL=不同,分别是不同的业务系统(ABCDEFG)

https://login.taobao.com/member/login.jhtml?spm=a2e15.8261149.754894437.1.249c29b4v2gbYk&f=top&redirectURL=https%3A%2F%2Fuland.taobao.com%2Fsem%2Ftbsearch%3Frefpid%3Dmm_26632258_3504122_32538762%26keyword%3D%25E5%25A5%25B3%25E8%25A3%2585%26clk1%3Df53231eef1c0727e549d6800baf515a7%26upsid%3Df53231eef1c0727e549d6800baf515a7

https://login.taobao.com/member/login.jhtml?redirectURL=http%3A%2F%2Fi.taobao.com%2Fmy_taobao.htm%3Fspm%3D875.7931836%252FB.a2226mz.3.2f0a4265rG6moA

猜你喜欢

转载自blog.csdn.net/qq_32648593/article/details/107731204