1.产生原因
app 应用需要访问服务器,此过程中涉及到身份认证和权限控制的问题,如何搭建 app 和服务器之间信任的桥梁?

我们都知道,session、cookie 是作为浏览器里面的用户和服务器之间认证的一个方式,而app 和服务器之间的交流也是使用的 http 请求,很明显它们遇到的问题是差不多的,但是因为 app 和浏览器又不完全一样(浏览器可以存放 cookie),所以我们可以借鉴浏览器和服务器的思想来解决 app 和服务器端的

cookie、session 的实现方式:
cookie 的实现方式是浏览器本身支持服务器端向浏览器写入键值对数据,当然客户端可以禁止服务器向客户端写入 cookie。
session 的实现方式是根据客户端的请求来找出当前客户端在服务器端的存放信息,有两种实现方式:
1.使用 cookie 写入 jsessionid=xxx
2.使用 url 重写(相当于在 url 后面加入 jsessionid=xxx)

无论使用哪种实现方式,最后都可以根据当前的客户端请求来确定当前请求的 request 在当前服务器中对应的 session,所以才会有 HttpSession session = request.getSession(); 因为session的确定必须从 request 里面拿到它的 jsessionid 才能取到对应的 session。

通过对浏览器和服务器交互的实现方式我们知道了要记录当前用户的信息我们需要在浏览器和服务器之间进行交互时传递一个 jsessionid 来标记当前用户,于是我们也可以通过同样的方式来记录app和服务器之间的交互,也就是 app 用户在登录之后我们都会给它一个 token 字符串来唯一标识当前用户,这样当下次这个人来的时候我们就可以根据 token 来取出当前用户的数据信息(用户个人信息、权限...),而且我们可以通过设定 token 的实效时间来控制用户的在线时间

2.实现方式

通过上面的分析我们知道了,我们只需要为每一个访问用户记录下来一个唯一的 token 即可(不可重复),之后我们就可以根据用户的 token来实现 app 端和服务器端之间的相对安全的交互了。

使用 token 是为了信息安全,我们可以根据设置 token 的失效时间来控制用户是不是可以对服务器进行访问,而且可以控制指定用户的访问保证用户数据的安全性。

app 与服务器交互 token相关推荐

  1. Android学习总结(2)——App客户端与服务器交互中的token

    学习Token Token是什么? Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Tok ...

  2. Mui --- app与服务器之间的交互原理、mui ajax使用

    1.APP与服务器之间的交互原理app端(客户端)与服务端的交互其实理解起来和容易,客户端想服务器端发送请求,服务器端进行数据运算后返回最终结果.结果可以是多种格式: 1.text 文本格式 2.xm ...

  3. java服务端开发安全_后端开发:APP与后端交互的安全性

    声明 此文原创,未经允许,禁止转载,可以分享. 最近在做一个项目,是一个APP的后端开发.我需要完成后端框架的建立.数据库设计.后端代码的编写.在这里讲一下APP与后端交互的安全性. 没有AUTH的验 ...

  4. Html5页面和Native App怎么进行交互

    webview系列:Html5页面和Native App怎么进行交互 混合开发的App(Hybrid App)就是在一个App中内嵌一个轻量级的浏览器,一部分原生的功能改为Html5来开发,这部分功能 ...

  5. 你还不会小程序啊?手把手带你做第一个和服务器交互的小程序

    2017年的时候,腾讯推出了微信小程序,当时火的一塌糊涂,圈子里几乎所有的程序员都在讨论小程序的话题:随着腾讯对小程序的功的逐步开放,2018年,尤其是在微信首页下拉增加小程序入口之后,小程序正式爆发 ...

  6. APP与服务器数据传输的加密方式

    APP与服务器之间数据传输加密可采用对称加密(DES)和非对称加密(RSA)两种方式,对称加密是APP和服务器用一个密钥,而非对称加密算法需要两个密钥:公钥(publickey)和私钥(private ...

  7. Android之使用HttpPost提交数据到服务器(Android手机客户端和后台服务器交互)

    这是一个小型的数据交互案例,即Android手机客户端和后台服务器交互(数据库mysql) 服务器端 首先服务器端数据库(用户名root密码123456),db_student.sql数据库表user ...

  8. 系统服务器与手机关系,手机与云服务器交互

    手机与云服务器交互 内容精选 换一换 购买弹性云服务器选错镜像,可以通过云平台的"切换操作系统"功能更换镜像.选择待切换操作系统的弹性云服务器,单击弹性云服务器列表左上角的&quo ...

  9. 移动App与服务器安全通信

    最近,项目给移动端提供API接口,移动app通过post请求调用服务器的api接口,为了确保服务器的数据安全和通讯安全,防止数据篡改等恶意攻击,本人通过查询资料和思考,总结出了一个方案,个人认为能解决 ...

最新文章

  1. 使用%的符号问题(只与被除数有关)
  2. 吴恩达《优化深度神经网络》精炼笔记(1)-- 深度学习的实用层面
  3. nginx 报错 99: Cannot assign requested address
  4. MFC控件随窗口大小变化原理及实现
  5. Google 开源的 Android 排版库:FlexboxLayout
  6. nosql的数据服务_使用NoSQL实现实体服务–第3部分:CouchDB
  7. Pytest脚本中运行用例方式
  8. 201521123060 《Java程序设计》第12周学习总结
  9. SQL 2008R2 安装失败问题
  10. 人人都是产品经理面试题
  11. 使用jave进行视频转码
  12. 【HTML/JS】百度地图javascriptAPI点击地图得到坐标(拾取坐标) 标签: 百度地图坐标
  13. MATLAB-图像加密
  14. Skipped xxx -- Node remains in conflict
  15. 淮北职业技术学院计算机官网,淮北职业技术学院
  16. APP - 腾讯微信上线“一证通查”功能,还没查的速度看看
  17. Eclipse执行junit测试时出现Errors occurred during the build. Errors running builder 'Integrated External Too
  18. 一个简单的字幕滚动程序~~
  19. UINO优锘ThingJS-X让数字孪生技术零门槛入门
  20. GMSL高带宽数据接入的方法

热门文章

  1. java使用模板导出excel,带二维码,图片及图片压缩
  2. 无法写入文件“XXXXXX”,因为它会覆盖输入文件
  3. autohotkey 老板键,自定义程序老板键,自定义按键
  4. Ghostxpsp3电脑爱好者纯净版V9.9
  5. macOS Catalina最新系统
  6. java调用金蝶云接口_JAVA对接金蝶云星空7.3
  7. Activemq安装和控制台
  8. 《教诫罗侯罗大经》阅读笔记
  9. 读书笔记:田博士五年之后五年的总结
  10. 维宁尔将以约1.76亿美元出售在日本和中国的制动系统合资业务