热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

知识点angular2、nodejs、redis、session前期准备基于实现目标,我们在进行之前先分析下需求。1、实现用户登录、验证;想实现这个需求,思路无非就是从前端用pos

知识点

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实现用户登录并信息持久化的一些理解(一)》

后续


推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 这篇文章主要介绍PHP如何使用在全部作用域中始终可用的内置变量,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要 ... [详细]
  • 有些网站设置了权限,只有在登录了之后才能爬取网站的内容,如何模拟登录,目前的方法主要是利用浏览器cookie模拟登录。浏览器访问服务器的过程在用户访问网页时,不论是通过URL输入域名或I ... [详细]
  • Cookie和Session的联系Cookie是在客户端保持状态,Session是在服务器端保持状态。由于服务器端保持状态在客户端也需要保存一个标识,所以Session需要借助于 ... [详细]
  • 应用场景B接口申请参数依赖于A接口返回的数据,心愿B接口发送申请的时候能获取A接口返回的数据作为申请参数。实现思路将A接口返回的数据通过后执行脚本赋值给一个全局变量或者环境变量。具体示例咱们一个接口B须要A接口返回的参数token作为本人的申请参数。常见的场景如:拜访一个须要登陆能力浏览的接口。1、准 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • XMLhttpREquest_Ajax技术总结之XmlHttpRequest
    Ajax1、 什么是ajax   ... [详细]
  • 一.常见基于身份识别进行反爬1通过headers字段来反爬headers中有很多字段,这些字段都有可能会被对方服务器拿过来进行判断是否为爬虫1.1通过headers中的User-A ... [详细]
  • mongoDB高可用集群环境搭建
    2019独角兽企业重金招聘Python工程师标准在生产环境下,部署一台mongodb服务的话,会存在以下问题:单点问题生产环境是一个 ... [详细]
  • 前面刚有AWS开战MongoDB,双方“隔空互呛”,这厢又曝出2亿+简历信息泄露——MongoDB的这场开年似乎“充实”得过分了些。长期以来,作为“最受欢迎的NoSQL数据库”,M ... [详细]
  • \\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*if(string.IsNullOrEmpty(Tex ... [详细]
  • 浏览器如何工作(How browsers work)的阅读笔记
    浏览器如何工作(Howbrowserswork)的阅读笔记1.整体结构完整的浏览器整体框架的发改如下:UI:就是那些我们常常 ... [详细]
  • 有时候网站sqlserver数据库被挂马了,网上的很多软件与方法都是针对text小于8000的,这里的方法貌似可行,需要的朋友可以参考下。 ... [详细]
author-avatar
紫褚1314
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有