我们在使用App时,一次登录后App如果不主动退出登录或者清除数据,App会在很长一段时间内保持登录状态,或者让用户感觉到登录一次就不用每次都输入用户密码才能进行登录。银行、金融涉及到支付类的App一般不支持这种长时间的登录状态保持。对于保持长期登录的技术实现方式,除了和前端技术有关,还涉及到前后台的通讯连接方式、后台提供的服务方式等有关。比如前端App是前端技术是原生加H5实现的,那选择的技术可能和纯原生的不一样。还有如果后端使用了sso(单点登录方式)技术那就和后端使用了webservice、Socket的方式不一样,具体实现上有时候需要综合考虑。总结出来一般的登录保持功能有如下的实现方式:
一、利用Cookie机制实现
我们知道cookie是为了解决http无状态的一种技术,被电商、oa等web应用广泛使用。如果我们的App和后端通讯采用的http通讯方式,可以利用cookie技术进行登录状态保持。比如我们可以把sessionID和有效期保存在cookie中,发给前端App,前端App收到后保存在本地。当访问后端服务把sessionID和有效期作为参数传给后台进行认证。直到sessionID失效,用户都不需要重新登录。
二、用户名和密码
如果App和后端通信不是通过http协议进行的,那cookie机制可能就不太适合。利用用户名和密码保持登录是指用户在第一次登录成功时,把用户名和密码保存的本地,下次用户打开App时登录利用保存的用户名和密码在后台自动完成。这种方式需要考虑用户名和密码的安全问题,防止信息被破解。
三、token方式
token方式在app认证上用的比较普遍,App初始登录时,提交账号和密码数据给服务端,服务端根据定义的的策略生成一个token字符串,token字符串中可以包含用户信息、设备ID等信息以保证用户的唯一性。服务端并对token设置一定的期限。服务端把生成的token字符串传给客户端,客户端保存token字符串,并在接下来的请求中带上这个字符串。相对于在App本地token的安全性更高了。
App登录状态保持除了实现路径外还需要考虑服务端数据持久化问题、客户端防拷贝问题、拦截破解问题等,在使用中需要综合考虑。

App保持登录状态的常用方法相关推荐

  1. 升级鸿蒙手机内数据会删除吗,鸿蒙系统:手机升级不会删除任何文件,包括APP的登录状态都不会掉...

    迫不及待给自己的手机升级了HarmonyOS. (升级系统不会删除任何文件,包括APP的登录状态都不会掉,放心升级吧) 一件事很奇怪,mate40Pro升级包3个G,mate30竟然要5.6个G,em ...

  2. H5页面获取原生APP的登录状态

    使用场景 安卓和IOS客户端在做一些节日.拉新等临时活动时需要内嵌一个HTML5页面(活动相关的逻辑都在该页面上),在开发HTML5页面的角度,则需要APP端提供用户的登录状态(包括token/用户I ...

  3. php和app保持登录状态,关于iOS开发者中APP保持登录状态的几种实现方式和一些思考...

    在实际开发中几乎所有的APP都会存在用户体系,假如没有涉及用户体系的APP,提交审核的时候有很大概率会被苹果爹地直接拒绝不允许上架.而有了用户体系,那么就肯定会存在登录以及保持登录的需求,要不然用户每 ...

  4. app维持h5登录状态_维持团队设计质量的5种工具

    app维持h5登录状态 Whenever you've worked in a team of designers, there has certainly been a time when some ...

  5. 魔方APP项目-07-客户端提交登录信息、在APICloud中集成防水墙验证码,前端获取显示并校验验证码、服务端校验验证码、保存用户登录状态,APICloud提供的数据存储、客户端保存用户登陆数据

    用户登录 一.客户端提交登录信息 html/login.html,代码: <!DOCTYPE html> <html> <head><title>登录& ...

  6. uni-app开发的APP,启动时通过登录状态判断跳转到哪个页面

    实际场景:用户打开APP时,如果他没登录,则跳转到登录页,如果已经登录,则跳转到首页. 在项目的manifest.json中配置启动界面,通过手动去关闭启动页(页面跳转好了以后在关闭启动页,无论pag ...

  7. tp5登出_tp 5框架实现登录,登出及session登录状态检测功能示例

    本文实例讲述了tp 5框架实现登录,登出及session登录状态检测功能.共享给大家供大家参考,详细如下: 1,访问http://localhost/tp5/admin.php时,判断有没有登录: 想 ...

  8. 11.保存登录状态与注销功能

    目前我们的demo已经完成了注册和登录功能,当登录成功之后,页面跳转到首页,此时我们需要保存用户的登录状态,不管页面如何跳转,除非用户自己注销登录. 如之前所说,我们可以用session来保存用户登录 ...

  9. html 存储登录状态,Vue中保存用户登录状态实例代码

    首先我们假设,这里的登录组件(register.vue)是App.vue组件的子组件,是通过路由进入登录组件的. 登录组件中用户点击登录后,后台会传过来一个用户名,我的App.vue组件中需要拿到这个 ...

  10. asp.net登录状态验证

    文章:ASP.NET 登录验证 文章:ASP.NET MVC下判断用户登录和授权状态方法 文章:.net学习笔记---HttpHandle与HttpModule 第一篇文章,介绍了 1)早期的Base ...

最新文章

  1. c语言进制转换pdf下载,C语言实现任意进制转换.doc
  2. ubuntu 电源按钮操作_桌面应用|在 Ubuntu 中使用 Slimbook Battery Optimizer 切换电源模式...
  3. go语言sleep一纳秒不准的思考--CPU时间片
  4. 计算机英语讲课笔记04
  5. ActiveMQ_2安装
  6. [RMAN]异机恢复实验
  7. 相似度计算 java_Java基于余弦方法实现的计算相似度算法示例
  8. TuxOnIce! 休眠到硬盘[zt]
  9. 用 js 写的 WebSocketHeartBeat,心跳检测,断线重连
  10. MyDriver2-397 XCTF 3rd-RCTF-2017 (windows 驱动题)
  11. qq for android 4.6能视频吗,安卓qq4.6使用评测
  12. Googler为什么很幸福?
  13. 企业转型遇到这些难题,就可以考虑一款APS生产计划排产软件了
  14. python卷积神经网络预测股价_解读:一种基于CNN-LSTM混合神经网络的股价预测模型...
  15. 使用bootstrap时下拉菜单失效问题解决
  16. OCP-V13-700
  17. java8 朗姆表达式,Python基础
  18. 学习Numpy(五)
  19. mysql read rnd next_mysql Handler_read_rnd_next value 值超大(10G+)的处理
  20. 第一次百度实习生电面

热门文章

  1. realtek没有禁用前面板_为什么HD声卡必须禁用前面板插孔检测前置耳机和麦克才可以有声...
  2. linux lilo命令,lilo命令_Linux lilo命令使用详解:安装核心载入开机管理程序
  3. 记录手机连接笔记本热点无法上网问题
  4. TCP SYNCookie机制
  5. [BZOJ3144]切糕
  6. 菠萝狗四足机器人使用手册
  7. Windows 7 插件KB4474419安装 Symantec Endpoint Protection 只能安装在具有SHA-2代码签名支持更新(KB4474419)的系统上
  8. php开发岗前培训心得体会范文,岗前培训心得体会范文
  9. python nan变成0_python nan怎么解决
  10. 正则表达式匹配身份证号