登录各种方式
登录:
单一服务器模式
使用session对象实现
1) 登录成功后,把用户数据存储到session里面
2) 在使用相关功能时,先判断是否登录,读取session中的数据,获取登录信息
SSO(单点登录)
方式1) session广播机制 (不使用)
方式2)使用redis+cookie实现
在项目中的任何一个模块登录后,将数据放到redis和cookiie
a) redis: key --- 唯一随机值 ; value --- 用户数据
b) cookie:把redis中的key值放到cookie里面
登录后访问网站,前端发送请求将携带cookie进行发送,
1)首先获取cookie的值,使用该值到redis查询
2)如果redis中查询到数据,表名此时为登录状态并获取了登录用户数据
方式3)使用token实现
在项目的任何一个模块登录后,后端按照 一定的规则 生成一个字符串返回,该字符串包含登录的用户信息
再访问网站时,可以将之前生成的字符串携带在cookie或者地址栏中,当获取到该字符串,根据规则解析字符串得到用户信息即可
登录和登录成功之后首页面显示过程
1)调用登录接口,获取token字符串
2)把token字符串保存到cookie中
3)创建前端拦截器,将cookie中的字符串放到header请求头
4)调用接口(根据token获取登录用户信息),把信息放到cookie中
5)跳转到首页,在首页面显示用户信息