app端维持用户登录状态

uni-app 微信小程序登录流程详细过程 https://blog.csdn.net/abcwanglinyong/article/details/80267901 doLogin:function(callback = () =>{}){ let that = this; wx.login({ success:function(loginRes){ if(loginRes){ //获取用户信息 wx.getUserInfo({ withCredentials:true,//非必填 默认 阅读详情

如何维持APP用户的登陆状态

一。一种方式
原文链接:http://ciniao.legu.cc/appcan/article_54.html

 

这个问题太过于常见,也过于简单,以至于大部分开发者根本没有关注过这个问题,我根据和我沟通的开发者中,总结出来常用的方法有以下几种:

 (个人觉得不简单么)

一:服务端默认的session

这种方式最大的优点是服务端不用增加任何代码,但APP与网站不同,通常情况下,我们会希望APP的登陆状态能维持数天,甚至数月之久,大部分的服务端程序,都会在进程重启时或客户端多久不活动时,将session全部清空,致使状态丢失

 

二、在客户端记录登陆用户的用户名和密码

客户端在登陆时,判断如果服务端返回验证成功,则将用户名和密码(为了客户端安全起见,可以将password多次md5)保存到本地的localStorage中,然后每次HTTP请求时,将用户名和密码带到参数中,服务端每次都需要读取数据库判断合法性,会浪费一定的服务器资源,同时,因为密码保存到本地,带来了一定的安全风险。

 

三:借助于数据库或文件系统等维持持久状态

这种方式,是为了解决方法一中session不持久的问题(如:将session保存的位置修改到文件或数据库),以及方案二中的安全性问题,不过这会降低服务端性能,或浪费服务端资源,代码逻辑流程如下:

数据库中,除了常见的user,password之外,额外增加一个字段,如:sessionID

在登陆接口中,如果判断用户输入的用户名密码正确时,生成一个随机字符串,保存到sessionID中,同时,客户端也将该值保存,在每次请求时,传递该值,服务端通过该值查询数据库,取得用户的身份信息。

 

四:密钥方式

以上三种方法,要么不能持久保存状态,要么不安全,要么每次请求都需要读取数据库验证,有没有一种方法,能解决以上的缺陷呢,于是,就有了这个方法,流程如下:

 

1:客户端输入用户名和密码,提交到服务端验证

2:服务端验证成功后,给客户端返回以下值:

uid : 用户的唯一标示

time : 当前unix时间戳

key : MD5(uid+time+”一个只有你自己知道的字符串密钥”)

3:客户端保存以上3个值在本地,每次HTTP请求时,将以上3个值发送到服务端

4:服务端验证key,判断如果与客户端发送的key一致,则说明用户身份无误

5:服务端每次收到请求时,通过当前时间-客户端time字段得到的差值,可以控制这个key的有效期

 二。类似第三方登录的方式

 OAuth2.0的refresh token

或者微信公众平台的方式:

http://mp.weixin.qq.com/wiki/11/0e4b294685f817b95cbed85ba5e82b8f.html

三。app  利用memcached 保持登录

http://www.zhihu.com/question/29714299

http://www.blogjava.net/stevenjohn/archive/2013/04/03/397372.html

http://ask.dcloud.net.cn/article/157

四。安全角度:从安全和体验上解析移动App的登录

不过个人建议你长期保持登陆

这样安全性不好

最好是 自动登录~提供自动登录

至于session机制,也是需要服务器后台设置时长的。

http://baike.baidu.com/view/3858474.htm

http://tech.it168.com/j/2006-07-19/200607191220593_2.shtml

哎,失误了,不用考虑后台该考虑的事情了。

2015/12/03

1.app端与server端的心跳包:长链接,适合TCP/IP

http方式,后台session的自动延续,session设置超时时间,到期自动延续。app端不会出现session过期。

2.Image的蒙层效果。

实现点击图片(ImageView)变暗效果,有一个较简单的方法,就是将目标图片设置为背景图片(setBackground),再创建一个selector.xml文件,里面放置一张普通状态时的透明图片,一张点击状态下的棕色半透明图片,将其设置为ImageView的源图片。这样在点击ImageView时,源图片会变换透明度,达到变暗效果。但这种方法有个缺点:由于源图片已经被限制死了,假如我们需要自定义背景图片,将目标图片放置在背景图片上,就无法实现了。

多用一个ImageView控件,半透明背景的,放在目标ImageView的上面,点击的时候换另一种透明度背景的。这个方法用了两层

还可以通过滤镜和监听onTouchEvent事件来达到变暗效果的方法。关于滤镜,以后接触

MissR:stay
1
0

« 上一篇: Win10下Genymotion无法正常使用的解决方法
» 下一篇: Activity之onWindowFocusChanged
    </div>
    <div class="postDesc">posted @ <span id="post-date">2015-11-26 21:36</span> <a href="http://www.cnblogs.com/permanent2012moira/">Matrix_Ran</a> 阅读(<span id="post_view_count">1819</span>) 评论(<span id="post_comment_count">0</span>) &nbsp;<a href="https://i.cnblogs.com/EditArticles.aspx?postid=4999030" rel="nofollow">编辑</a> <a href="#" onclick="AddToWz(4999030);return false;">收藏</a></div>
</div>
<script type="text/javascript">var allowComments=true,cb_blogId=134624,cb_entryId=4999030,cb_blogApp=currentBlogApp,cb_blogUserGuid='aeb42acd-501c-e211-aa8f-842b2b196315',cb_entryCreatedDate='2015/11/26 21:36:00';loadViewCount(cb_entryId);</script>


用NAS+Docker守护抖音小火苗:Web心跳自动化实战 在线状态机制是现代社交App的核心基础能力,其本质依赖客户与服务之间持续、合规的心跳通信来维持会话有效性。抖音小火苗正是这一机制的可视化体现,背后涉及Cookie持久化、浏览器环境模拟、定时任务调度等关键技术。本文聚焦于利用NAS作为24小时在线载体,结合Docker容器化与Puppeteer无头浏览器,实现Web登录态的期稳定维持——不逆向协议、不共享账号、不突破平台规则,而是通过标准化Web自动化技术,在用户自有硬件上完成合法的状态同步。方案适用于NAS玩家、Web自动化实践者及对社交在线感有持 阅读详情

相关推荐

APP开发实战11-APP登录状态维持

3.4登录状态维持 目前APP大都支持登录,就是用户登录一次后,如果用户没有主动注销、清除APP缓存数据或卸载APP,就在一段时间内或一直保持登录状态。 3.4.1 利用Token实现 APP登录成功后,服务器以某种方式,如随机生成N位的字符串作为Token,同时设置一个有效期,存储到服务器中,并返回Token给APP。 后续APP发送请求时,都要带上该Token,每次服务器收到请求

xjbclz的专栏 4244

如何维持APP用户的登陆状态

如何维持APP用户的登陆状态 一。一种方式 原文链接:http://ciniao.legu.cc/appcan/article_54.html   这个问题太过于常见,也过于简单,以至于大部分开发者根本没有关注过这个问题,我根据和我沟通的开发者中,总结出来常用的方法有以下几种:  (个人觉得不简单么) 一:服务默认的session 这种方式最大的优点是服务不用增加

Terry - 专注外贸B2C 2239

“华为杯”研究生数学建模竞赛2019年-【华为杯】D题:汽车行驶工况构建(附获奖论文和MATLAB代码实现

映了汽车道路行驶的运动学特征。准差、加速度标准差这九个特征参数用于后续的数据分析,建立了合理的汽车运动特征评。特征参数与所属类特征参数的特征值的相关性大小替代误差进行排序的,计算得到汽车行。对于问题一,我们首先对原始数据进行了时间变量转换,将原本的年月日时分秒的计。紧接着进行了运动学片段的划分,引入九个特征参数,通过主成分分析、本文研究的是汽车行驶工况构建,汽车行驶工况是描述汽车行驶的速度。的合理性评价标准,对两种方法都进行了合理性评价,得到的。进行了合理性评价,得到了最优的汽车行驶工况曲线。

getusushu的博客 977

App保持登录状态的常用方法

我们在使用App时,一次登录App如果不主动退出登录或者清除数据,App会在很一段时间内保持登录状态,或者让用户感觉到登录一次就不用每次都输入用户密码才能进行登录。银行、金融涉及到支付类的App一般不支持这种时间的登录状态保持。对于保持登录的技术实现方式,除了和前技术有关,还涉及到前后台的通讯连接方式、后台提供的服务方式等有关。比如前App是前技术是原生加H5实现的,那选择的技术可

凡梦 3万+

一种新的移动APP保持登陆的实现机制介绍

移动APP的特点 移动APP和网页登陆不同的一点就是,App不需要用户每次使用都登陆,增加了易用性, 本文介绍一下App保持登陆的是实现机制 目前常见的机制: 一 使用传统的会话机制session 把网页的机制照搬过来,利用传统网页的记住登陆机制. 用户输入正确的用户名和密码后,创建登陆会话,同时生成一个记住登陆token保持在服务器,同时发个客户. 客户每次启动时,通过记录登陆token新建会话,后续使用便采取session机制. 服务器的可用Memcache 或 Redis 存储会话.

在每次的突破中遇见更好的自己 1429

关于app接口调用时如何使session和token票据来保证接口调用的安全

传统的http请求时无状态的。及一个用户向服务器发送请求时,当再次发送请求时不能判断是同一个用户发送 的请求,及无法记录用户信息。 Session是指一个终用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间也成为会话时间。 token是有后加密产生的一段加密字符。app访问接口是的票据。 1.关于token域session之间的关联关系  1-1.t

weijinbo5741的专栏 7780

PHP模拟GET,POST请求

/** *模拟GET请求 **/ function curlGet($url){ $headerArray =array("Content-type:application/json;","Accept:application/json"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_set.

Your_is_my_God的博客 518

[uni-app] 中保持用户登录状态

在应用中保持登录状态是一个应用常见的需求,本文简单介绍下在 uni-app 中如何保存用户登录状态。 简介 uni-app 中不支持读写 cookie,所以不能如传统的应用那样通过读取 cookie 来判断是否是登录状态。 在 uni-app 进行登录操作时,可以将需要校验的数据放在 uni.request 的 data 中,也可以在 header 里设置 token,使用 token 进行...

manbudezhu的专栏 8591

uniapp 右上角登录_uni-app 中保持用户登录状态

在应用中保持登录状态是一个应用常见的需求,本文简单介绍下在 uni-app 中如何保存用户登录状态。简介uni-app 中不支持读写 cookie,所以不能如传统的应用那样通过读取 cookie 来判断是否是登录状态。在 uni-app 进行登录操作时,可以将需要校验的数据放在 uni.request 的 data 中,也可以在 header 里设置 token,使用 token 进行登录状态校验...

weixin_29589063的博客 1686

react项目 实现维持登录与自动登录(刷新后依然处于登录状态)store 包 插件 的应用

描述: 登录后,刷新后依然处于登录状态维持登录登录后,关闭浏览器后打开浏览器访问依然是已经登录状态(自动登录) 登录后,访问登录路径自动跳转到管理界面 1.下载依赖 2.utils/storageUtils.js /* * 进行local数据存储管理的工具模块 * */ import store from 'store' const USER_KEY = 'user_key...

吴冬雪的博客 3740

App登录状态维持

转载地址:http://www.jianshu.com/p/4b6b04244773 目前APP大都支持登录,就是用户登录一次后,如果用户没有主动注销、清除APP缓存数据或卸载APP,就在一段时间内或一直保持登录状态。一般情况下,有以下三种方式: 利用Token实现 APP登录成功后,服务器以某种方式,如随机生成N位的字符串作为Token,同时设置一个有效期,存储到

Jackson-huang的专栏 1万+

uni-app 保持登录状态 (Vuex)

在小程序中,保持登录状态是很常见的需求,今天就把写一写使用uni-app框架的保持登录状态功能是怎样实现的。 一、场景需求 1、场景:初始打开---登陆---关闭,再次打开---(已登录)上次关闭前的页面 2、cookie:传统应用保持登录状态的方式是通过读取 cookie 来判断是否是登录状态,但是uni-app不支持对cookie的读写。 3、实现:uni-app 的官网的A...

CWW2016的博客 2927

PHP app登录qq,APP配置QQ登录的详细教程

之前教程不够详细,很多人的APP不能正常使用QQ登录。现在重新整理了一个教程。大家可以参考配置。为了避免重复注册帐号,安卓APP只能共用网站的QQ登录接口,这就需要你得重新为他申请APP的相关登录接口权限,因为默认腾讯是没有开放APP登录权限的,需要你重新申请。要使用同一个接口,就要做关联。而不是新申请或新创建另外一个ID接口。如何关联呢?大家打开这个网址右上角一个关联选项,如下图,输入网站的Q...

weixin_42393315的博客 684

Android在设置页面退出账号回到登录页面后的操作

qiutiandepaomo的博客 1383

App本地配置持久化方案

App开发过程中,会遇到很多简单配置项的持久化需求。比如App最近一次启动的时间,App最后一次登陆的用户ID,用户首次使用功能的判断条件。并且随着业务的扩展,零碎的配置还会不断增加。提供中心化的配置方式,关联UserDefaults、维护String Key。提供类ORM的管理方式,减少业务的接入成本。针对更复杂的、类缓存集合的,或者有查询需求的配置项管理,请尽快用NoSQL替换,避免数据量上升带来的效率下降。

不定时分享最优质的网络技术与教程,满满的干货。 408

【移动应用开发】Android持久化技术

一、实现一个“我的图书馆” 1. 用户登陆界面 1.1 运行截图 1.2 源代码 ① 布局文件activity_login.xml ② res/values/strings.xml ③ LoginActivity.kt ④ 在AndroidManifest.xml注册LoginActivity.kt 2. 图书信息数据库和显示界面 2.1 功能实现截图 2.2 源代码 ① activity_main.xml ② item_book.xml ③ activity_addbook.x

布丁椰奶冻的博客 1158

token机制完成登录状态保持/身份认证

前言 一般APP都是刚安装后,第一次启动时需要登录(提示你需要登录或者直接启动在登录界面)。而只要登录成功后,以后每次启动时都是登录状态,不需要每次启动时再次登录。不过,也有些APP若你期未启动,再次启动时,它会提示你登录过期,让你重新登录。这个是怎么实现的?APP是怎么保持登录状态的? 比较标准的方案是“带时效检测的token机制”。所谓token,即“令牌”的意思。那这个token机制的执行...

木鱼wzh的博客 2619

uni-app持久化登录简单实现

想要实现持久化登录,原理就是在每次进入应用的时候获取上一次用户登录的信息。那么就好办了,我们在每次登录成功后把用户的账号密码存储到本地,然后在进入应用的时候读取本地文件获取账号密码重新执行登录流程,在退出登录的时候删除存储的用户登录本地文件。

a983677218的博客 877

osgearth添加经纬度网格,并显示鼠标所指经纬高度信息

一、代码 osgearth官方例子 #include <osg/Notify> #include <osgGA/StateSetManipulator> #include <osgViewer/Viewer> #include <osgViewer/ViewerEventHandlers> #include <osgEarth/MapNode> #include <osgEarthUtil/EarthManipulator> #

ljjjjjjjjjjj的博客 3541

微信视频号下载助手,简洁易用的微信视频号本地下载与管理工具-windows版(附源码)

WX Channel Downloader(微信视频号下载助手)通过在本地启动一个 HTTP 代理,拦截微信浏览器与视频号页面的流量并注入脚本,实现视频信息采集与本地保存。该工具主打“零配置、快速上手”,适合需要批量管理或备份自己或经授权视频内容的个人与团队。核心功能简单安装:下载即用,无需复杂配置,数分钟内完成部署。自动注入:在视频号页面自动注入操作面板,无需手动脚本。批量下载:支持单个、批量与全量选择下载。智能去重:自动识别重复资源,节省带宽与存储。分片上传:大文件分片并支持断点续传,提升稳定性。受保护内容处理:在获得合法授权的前提下,可处理加密视频。多格式导出:支持将视频链接导出为 TXT / JSON / Markdown。下载记录:自动将下载信息记录至 CSV,便于检索与归档。文件组织:按作者自动分类保存视频文件。日志系统:支持文件大小滚动,定位问题更直接。系统要求操作系统:Windows 10+Go 环境:1.23+(仅在需从源码编译时)浏览器:微信浏览器网络:可正常访问微信视频号网站权限:建议以管理员身份运行(便于证书自动安装)

上一篇: HashMap,HashTable,HashSet区别
下一篇: 理解springMVC的controller
我是奥特man
博客等级 码龄12年 34粉丝 100原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值