博主信息
Sky
博文
291
粉丝
0
评论
0
访问量
7195
积分:0
P豆:617

【前端】网站自动登陆是前端控制还是后端?

2021年10月08日 23:43:40阅读数:30博客 / Sky

实现网站自动登陆,不用输账号密码,是前台控制还是后台,是怎么控制的?前端需要做什么操作么??

回答

结论:主导权在后端,前端配合。

假设用户账号是:xiaoming,密码是:123456。

一个简单的登录流程如下:(以web页面登录为例,为方便讲解,此处忽略技术细节,不考虑安全性问题)

第一次访问需要登录

浏览器:用户输入账号密码:xiaoming/123456服务器:收到用户的登录请求,校验用户账号密码成功。服务器:记录用户xiaoming的登录状态,比如往数据库里插入一条记录,用户名是xiaoming,登录有效期是1个月。
4、服务器:登录请求处理完成,请求返回浏览器,并告诉浏览器“请在本地存储login_name=xiaoming的cookie,且有效期为1个月”(key不一定是login_name)浏览器:将cookie “login_name=xiaoming” 存储到本地,设置有效期为1个月。

第二次自动登录

假设小明已经登录过网站,并且在1个月内容重新访问网站。

浏览器:向服务器发送请求(任意),同时带上之前存储的cookie。(http特性)服务器:收到浏览器的请求,获得cookie “login_name=xiaoming”。服务器:检索数据库,发现数据库里有xiaoming的登录记录,且还没过期。–> 证明小明处于登录状态

既然服务器检测到xiaoming处于登录状态,那么自然就不用重新登录了。

前端不需要做任何操作。

自动登陆是cookie实现的,如果之前登陆过并且cookie还没有过期,访问前端页面就会自动传输这个cookie给后端,后端会去识别这个cookie是否有效。

哪位仁兄踩了答案,请告诉我哪里有问题。谢谢。

最传统的方式就是cookie。

第一次登陆,如果记住密码, 则存储一个时效的cookie,QQ号码购买平台地图访问的时候如果是服务端渲染,则直接从服务端判断cookie是否存在和有效,然后生成session保存本次状态即可。

如果是前端渲染,则需要请求一次服务端。同样如果使用cookie的话,服务端判断和处理后,发回用户的登录状态或者未登录状态。

cookie的判断和验证都可以放在后端进行,前端没必要(不一定),但是也可以。

一般情况下,根据不同的网站架构也是不一样的. 如果是前端和后台分离.一般情况下都是前端将登陆信息缓存下.一旦失效就去后端发接口请求从新获取登陆后的信息.

这个需要前台和后台的共同的配合。
登录信息加密后保存在cookie中,后台拿到cookie值进行处理,来判断用户时候登录。

前端除了用 cookie 之外,还可以用 localStorage 来实现,把登录信息通过 localStorage.setItem('key', 'value') 来存到浏览器本地,还可以在登录信息对象增加一个过期时间的属性,控制自动过期。如果要清除登录状态,可以用 localStorage.removeItem('key')。

cookie


版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • ba系统指“楼宇设备系统”,以一台微机为中心,由符合工业标准的络,对分布于监现场的区域智能分进行连接,通过特定的末设备,实现对楼宇机电设备集中监和管理的专业楼宇系统。
    jQuery判断否存在滚条的方法:首先创建一个代码示例文件;然利用jQuery条滚;最通过“if( $("body").scrollTop()>0 ){.
    php模板引擎原理作为视图层和模型层分离的一种有效解决方案,让更好的分工协作,来于经典的MVC模型,即【模型层-视图层-器模型】,将M和V实现代码分离,从而使同一个程序可以使用不同的表现形式
    ECSHOP一套完整的络商店解决方案,包括台的商品展示、购物流程和强大易用的台管理。