【谷粒商城笔记|10.认证服务,单点登录】流程—
1.第一个客户端访问,此时session中没有用户信息,说明是没有登录的状态,会重定向到登录服务页面,而且会带上当前服务的服务地址,保证登录过后还可以跳转回来。
文章图片
2.前端页面输入账号密码之后,点击登录,到提交处理服务。
文章图片
文章图片
3.账号密码验证通过,就将用户的信息存到redis,并且还生成了一个名为“sso_token”的cookie。然后重定向到客户端服务。
4.回到客户端,发现token不为空,就从redis中获取到用户信息,并存到session中。
文章图片
5.客户端发现session中有用户信息了,就跳转到登录后的页面。第一个用户登录完成。
6.当第二个不同域名的客户端来访问,发现他的session会话中没有用户信息,就会重定向到登录页。
7.此时登录页发现自己有一个cookie,说明有人登陆过了,就直接跳转回原服务了。
文章图片
8.原服务发现token不为空,就可以到登录后的页面;
关键点:
1.访问客户端发现没有登录,跳转到登录页,登陆成功后要保证再回到原来的客户端页面,这就需要客户端到登录页的时候要在参数中携带自己的地址。这样登录完成后才可以保证再跳转回来
2.多域名用户登录,要保证第一个用户登录的时候,在登录页留下一个cookie,这样再有人访问登录页的时候,cookie中有数据,就代表有人访问过,就无须再重新登录了。
推荐阅读
- 前端|【前端面试必知】行内块元素之间的空白间隔是什么原因引起的
- javascript|解决 “TypeError: Cannot read properties of undefined (reading ‘xxx‘)“
- 网络安全|网络安全——黑客的技术操作原来是这样的
- 4G智能安全帽(记录仪)应用分析
- 数据结构|模拟浏览器操作程序(数据结构课设)
- 前端|【毕业季】作为一名大二计科在校生,我有话想说
- javascript|JS数组at函数(获取最后一个元素的方法)介绍
- 人工智能|MIT 曝光 M1 不可修复的漏洞,网友(时间挺巧,是时候换 M2 了!)
- Vue基础|Vue的模板语法及案例