基于angular2实现用户登录并信息持久化的一些理解(一)

发布时间:2019-06-09 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了基于angular2实现用户登录并信息持久化的一些理解(一)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

知识点

Angular2、nodejs、redis、session

前期准备

基于实现目标,我们在进行之前先分析下需求。

1、实现用户登录、验证;
想实现这个需求,思路无非就是从前端用post将用户名、密码(MD5)传到后端,后端再根据用户id来查询用户,然后比较密码,如果成功则返回true及对应的用户信息,反之返回相应信息;

2、用户信息持久化;
用户信息持久化其实方法也很多,例如cookies、localStroage、sessionStorage、session、redis及mongodb等;下面简单说明下他们各自的特点:

cookies: 最古老,基本所有浏览器支持。容量小,仅有4k,即一个域下最多可存大概20条记录。可设置存活期,不安全,当服务器端多并发时,为考虑减轻对服务器压力,可将数据存放在cookies。同一域,同一浏览器内多窗口(标签)间可以共享,没有设置存放期时关闭浏览器cookies消失

localStroage:基于HTML5的本地存储,容量大,可永久保存数据,直至用户主动清空。同一浏览器多窗口(标签)共享

sessionStorage:基于HTML5的本地存储,容易较大。区别了localStroage的特点是生命周期仅存放于会话期间,关闭浏览器即消失。区别于cookies特点是,容易大,多窗口(标签)间数据不共享。

session:基于服务器端的缓存,可设置存活期,容量大,安全性高。同一域内数据可共享,可根据头部带的cookie读取相应的信息,考虑信息安全性,可使用session.

redis:是目前比较流行的运行于服务器端的缓存数据库。容量大,安全性也高,可设置存活期,过期即消毁。

mongodb:作用也redis类似,都是缓存数据库。

3、用户信息有无存活期;
这里需要考虑的问题是当得到了正确的用户信息后,保存在哪里。通过上面的分析,我们很容易会选择session,因为其安全性高。所以,我们得到一个方案是session+redis。将后端生成session信息并保存到redis中。

4、设计登录方案
这里我用两张流程图来表达登录方案,图1,登录保存会话;图2,刷新读取会话;

基于angular2实现用户登录并信息持久化的一些理解(一)

基于angular2实现用户登录并信息持久化的一些理解(一)

后续

脚本宝典总结

以上是脚本宝典为你收集整理的基于angular2实现用户登录并信息持久化的一些理解(一)全部内容,希望文章能够帮你解决基于angular2实现用户登录并信息持久化的一些理解(一)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。