服务器如何判断当前用户是否登录?

// 1. 如果是即时通信类:长连接.

// 如何保证服务器跟客户端保持长连接状态?

// "心跳包" 用来检测用户是否在线!用来做长连接!

// token 值: 相当于登录令牌! 用来判断当前用户的登录状态!

// token 值特点: 是一个字符串/大整数,只需要保证唯一性.是服务器根据用户的信息(账号/密码/身份认证机制(电话号/身份证号/支付宝账号/银行卡信息)...)来生成的用于标识用户身份的值!

// token 值获取:

// 当用户首次登录成功之后, 服务器端就会生成一个 token 值. 1.会在服务器保存token值(保存在数据库中) 2.将这个token值返回给客户端.

// 客户端拿到 token 值之后,一般保存在两个位置 : 1. 将 token 保存在 cookie 中; 2.将 token 保存在沙盒中,作为一个公共参数传递.

// 公共参数: 每一个网络请求都需要的参数! 一般公共参数有很多都是"可选"参数!,公共参数附带的越多,越利于后台监测用户,数据挖掘会使用到监测到的数据.

// 以后客户端再次发送网络请求(一般不是登录请求)的时候,就会将这个 token 值附带到参数中发送给服务器.

// 服务器接收到客户端的请求之后,会取出token值与保存在本地(数据库)中的token值做对比!

// 如果两个 token 值相同 :说明用户登录成功过!当前用户处于登录状态!

// 如果没有这个 token 值, 没有登录成功.

// 如果 token 值不同: 说明原来的登录信息已经失效,让用户重新登录.

// token 值失效问题: 1. token 值有失效时间!

{

token的有效时间:

{

1. 如果 app 是新闻类/游戏类/聊天类等需要长时间用户粘性的. 一般可以设置1年的有效时间!

2. 如果 app 是 支付类/银行类的. 一般token只得有效时间比较短: 15分钟左右!

}

}

// token 值失效问题: 2. token 值用来做设备唯一性登录判断!

{

每次登录之后,无论用户密码是否改变,只要调用登录接口并且登录成功,都会在服务器生成新的token值,原来的token值就会失效!

典型的 app : 打车软件类

}

时间: 04-11

服务器如何判断当前用户是否登录?的相关文章

vue路由跳转时判断用户是否登录功能

通过判断该用户是否登录过,如果没有登录则跳转到login登录路由,如果登录则正常跳转. 一丶首先在用户登录前后分别给出一个状态来标识此用户是否登录(建议用vuex): 简单用vuex表示一下,不会可以自己去官网多看看: import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex); var state = { isLogin:0, //初始时候给一个 isLogin=0 表示用户未登录 }; const mutations = { cha

Linux采用非用户密码登录服务器

主要思想:利用ssh-keygen生成rsa密钥对,具体有两种方式 一. 由客户机生成密钥对,将对应的"锁"给服务器(登录目标) 1. 客户机生成密钥对,生成密钥对默认路径~/.ssh,提示输入密钥对密码,若输入为空,则登录时无需密码.将会在.ssh文件夹中生成id_rsa和id_rsa.pub文件 ssh-keygen 2. 进入.ssh目录 cd ~/.ssh/ 3. 将公钥文件("锁"文件)id_rsa.pub复制到服务器(登录目标).ssh文件中 scp i

判断用户是否登录以及对编码格式进行过滤

1.对编码进行过滤: EncodeFilter.java package com.bgiseq.util; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletReq

Discuz!X 插件开发判断用户是否登录的代码怎么写

转:http://www.bacysoft.cn/thread-71-1-1.html Discuz!X 插件开发判断用户是否登录的代码怎么写? 我们开发插件的时候,经常需要判断访问用户是否为注册用户,如果是则允许访问,否则弹出登录窗口提示用户登录! 实现此功能的代码如下: if(empty($_G['uid'])) { showmessage('to_login', '', array(), array('showmsg' => true, 'login' => 1)); } 复制代码 $_

判断用户是否登录弹框

应用场景:某个操作需要用户登录才可以访问,使用方法. 1)天猫使用了两种方法.一种cookie判断: i.用户未登录,没有生成cookie,弹出登录框. ii.用户登录后生成cookie   iii.删除cookie要求重新登录 vi. 在当前页面之外打开另外一个页面进行登录.再回到当前页面,此时点击立即购买或加入购物车可以自动判断用户已经登录并进入下一页. 2)天猫右边的快捷入口现在可以识别用户是否在其它页面登录.原先这个用户信息在左边,如果用户在其它页面登录,并且在当前页面没有刷新的情况下点

第 10 章 判断用户是否登录

转载:http://www.mossle.com/docs/auth/html/ch010-fully.html 第 10 章 判断用户是否登录 有些情况,只要用户登录就可以访问某些资源,而不需要具体要求用户拥有哪些权限,这时候可以使用IS_AUTHENTICATED_FULLY,配置如下所示: <http auto-config='true'> <intercept-url pattern="/admin.jsp" access="ROLE_ADMIN&q

YbRapidSolution.Mvc判断不同用户登录不同页面

AccountController.cs using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Text.RegularExpressions; using System.Web; using System.Web.Mvc; using System.Web.Script.Serialization; using System.Web.Security;

如何实现共享软件网络授权认证,包括注册新用户、登录、修改密码等操作

开发共享软件,传统的是采用注册码验证方式,这种方式是大多数共享软件采用的方式,另外还有一种常见的验证方式,就是通过网络授权认证的方式,这种方式通过在程序中调用服务器的服务进行.一般具有验证用户名可用.注册新用户.用户登录认证.用户修改密码等操作,另外还需要配备一个网络授权入口给管理员对注册的用户进行授权控制. 这个是为了进行网络授权认证搭建的一个简单的管理后台,用户在共享软件客户端通过调用服务器的服务连接,可以注册一个新用户,或者进行登录获取身份信息(试用.已注册.已禁用等状态),还可以通过服务

php判断页面是电脑登录还是手机登录

首先说最根本的解决方法: 手机访问时,会附带发送user-agent信息,这个信息里面会有手机号码信息,那么如果能取得手机号码,则可以肯定是通过手机wap访问的.但是目前 中国移动已经屏蔽了user-agent信息,所以获取不到手机号码.有关系的朋友可以联系移动公司,把wap网站服务器的ip提交给中国移动,加入白名 单后即可取得ua信息.目前中国联通可以直接取到手机号,对联通用户此方案可完美实施. 接下来说我的解决方案: 手机访问,原理是手机通过移动公司的代理服务器进行的访问.那么我们就可以理解