什么是登录?
用通俗的话来讲一讲:
首先,网站或应用程序为每个用户配置一套用户名和密码,记住:它是独一无二的;
然后,用户拿它进入到系统;
最后,系统验证用户进入是成功或是失败。
这一过程就被我们称为“登录”。
相信大家应该都知道,客户端想要获取服务器的资源需要遵循一定的通信协议,在Web项目中我们通常使用的是HTTP协议,它是一种无状态协议,即服务器不保留与客户端交易时的任何状态,也就是说,用户的访问状态是无法被记录保存的。
而当我们在逛淘宝的时候,只有处于一个合法的登录状态时才能正常地浏览商品、添加购物车、完成购买等行为。因此需要在每个页面对用户的身份进行验证和确认。但现实是,不可能让用户在每个页面都进行一次输入用户名和密码的一个操作吧,这也太离谱了!因此在设计时只要求用户进行一次登录操作即可,用了实现这一功能就需要一些辅助的技术,用的最多的就是浏览器的Cookie,在Java Web开发中,用的比较多的是Session,将用户登录的信息存放其中,这样便可以通过读取Cookie或Session中的数据获得用户的登录信息了,从而达到记录状态、验证用户这一目的。
登录流程设计
那么对于用户登录认证模块,前端需要干些什么呢?
作为一个初学者,以下是我的一些理解....
首先,当然需要开发一个用户登录的页面,常见的有淘宝、京东等登录界面,包括用户名、账号以及验证码输入框,用户提交按钮。
接下来,用户登录时发起请求,并将用户信息发送给服务器。
然后,服务器执行登录成功判断和身份验证,若执行成功则生成一个Token,可以理解为一个随机字符串,并返回登录成功信息,之后的每次请求都需要在请求头上携带ToKen信息。
最后,前端获取到Token值将其存储至本地并跳转到首页。
那么,如果ToKen过期会怎么办呢?
前端在请求失败回调后(前后端会协商好一个错误码),需要重新跳转到登录页面进行鉴权。
以上就是一个比较简单的登录流程啦!