+
 新版

单点登录

予欢丶 发布于 2019/09/25 16:41
阅读 822
收藏 0

看了一些文章,还是不咋明白,系统1的登录信息如何能够传递到系统2的?我不是太明白。。。还能操作其它域名下的请求信息?有懂的老哥么?

加载中
0
四月与端午
四月与端午

你在系统1登陆,系统1吧登陆信息存储起来(这个存储系统2也可以访问),然后给你一个凭证,你拿着这个凭证去调用系统2的服务,系统2获取你的凭证,与存储对比,ok,实现单点登录

予欢丶
予欢丶
系统二访问是无状态的,你在知道系统二和系统一是同一个用户?
0
2
2010带你飞

首先你要明白B/S之间的通信是怎么实现的,后台怎么知道是谁在访问后台?

一般来说都是通过Token和cookie中的seesinid来实现的

1.B/S开发中,Cookie扮演什么样的角色?

2.后台登录成功后做了那些操作让以后的访问知道是哪个人操作的

搞明白这两点如果还是不明白,那就只能说明你看资料是浑沦吞枣,没有用心看。

予欢丶
予欢丶
我就是知道才产生疑问的,你同主域名下cookie可以传递,你不同域名cookie咋传递,第二个网站登录是无状态的,也就是你根本无法判断是那个用户,是能把cookie直接写到对应的域名下么?
0
CAFEDADA
CAFEDADA

cas可以参考下

0
JustForFly
JustForFly

单点登陆sso,一般会有一个管理权限和token的主应用sso server,他主要的功能是用户登录和token管理。


当用户访问A系统的时候,A系统发现session中没有token,那么A系统就会控制代码逻辑,跳转到sso server去进行登录操作。
sso server验证用户名和密码没有问题后,会在sso server中为该用户生成一个token值(一般为uuid的字符串),并保存起来(一般保存在redis或者内存中,当然也可以保存在mysql中)。然后,sso server会跳转回A系统,并将token一起传递给A系统。

A系统将token保存起来后(一般保存在session中),当A去访问B系统的时候,只要带上这个token,那么B系统就可以利用A传递过来token。例如,B系统可以用token访问sso server的token验证功能,来验证token对应的用户信息、权限信息、token是否过期等等。

0
mickelfeng
mickelfeng

ucenter了解下

0
酷酷的就
酷酷的就
系统2后台起问1这个凭据是你发的么?
0
zhuweihong
zhuweihong

比如你在电脑端登陆,会去票据服务器拿去票据,拿到票据再去应用服务器验证,通过后;你再去手机端访问就不需要登陆,因为可以从票据服务器拿到票据,所以就手机端就不用在登陆了

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部