登录知识点.txt 知识来源:百度“登录 前后端分离” 一、前后端分离的登录:token机制 参考:https://blog.csdn.net/qq_41970025/article/details/90705849 https://www.cnblogs.com/eret9616/p/9661314.html 的2.2 基于Token登录 基于token的认证,适用场景:分布式,微服务。 1).token与cookie相比较的优势: 1、支持跨域访问,将token置于请求头中,而cookie是不支持跨域访问的。 2、无状态化,服务端无需存储token,只需要验证token信息是否正确即可, 而session需要在服务端存储,一般是通过cookie中的sessionID在服务端查找对应的session。 3、无需绑定到一个特殊的身份验证方案(传统的用户名密码登陆), 只需要生成的token是符合我们预期设定的即可。 4、更适用于移动端 (Android,iOS,小程序等等), 像这种原生平台不支持cookie, 比如说微信小程序,每一次请求都是一次会话, 当然我们可以每次去手动为它添加cookie,详情请查看博主另一篇博客。 5、避免CSRF跨站伪造攻击,还是因为不依赖cookie。 6、非常适用于RESTful API,这样可以轻易与各种后端(java,.net,python…)相结合,去耦合。 2)前后端分离的登录解决方案 注:目前大多数都采用请求头携带 Token 的形式。 1、首次登录时,后端服务器判断用户账号、密码正确之后, 根据用户id、用户名、定义好的秘钥、过期时间生成 token,返回给前端。 2、前端拿到后端返回的 token ,存储在 localStorage 里。 3、前端每次路由跳转,判断 localStorage 有无 token, 没有则跳转到登录页,有则请求获取用户信息,改变登录状态。 4、每次请求接口,在请求头里携带 token。 5、后端接口 判断 请求头有无 token,没有或者 token 过期,返回401。 6、前端得到 401 状态码,重定向 到登录页面。 二、前后端分离 | 关于登录状态那些事 参考:https://www.cnblogs.com/boboooo/p/9779355.html 3.1.近几年,随着前后端分离的流行, 我们访问一个网站时,先去请求静态服务,拿到页面后, 再异步去后台请求数据,最后渲染成我们看到的带有数据的网站。 3.2.同源(域)策略 同源策略是浏览器保证安全的基础,它是指, A网页设置的 Cookie,B网页不能打开,除非这两个网页同源。 所谓同源是指:协议相同、域名相同、端口相同。 例如:http://www.a.com/login, 协议是http,域名是www.a.com,端口是80。 只要这3个相同,我们就可以在请求(Request)时带上Cookie, 在响应(Response)时设置Cookie。 3.3.同域下的前后端分离 同域下,异步请求时,服务器成功设置了Cookie,Cookie也能带到服务端。 所以,我们在做前后端分离时,前端和后端部署在同一域下, 满足浏览器的同源策略,登录不需要做特殊的处理。 3.4.不同域下的前后端分离 见 jwt(json web token) 用户认证。
前后端分离的登录:token机制.txt
最新推荐文章于 2023-05-26 10:22:43 发布