打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
app 与服务器交互 token
  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,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Session的生命周期
session 、cookie、token的区别
Token,Cookie、Session傻傻分不清楚?
web应用的session和token有什么联系?
Cloud Foundry Session Affinity(Sticky Session)的实现
cookie与session的关系
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服