13,190
社区成员
发帖
与我相关
我的任务
分享
var token=request.headers["token"];
var uid=redishelper.get<string>(token);
if(uid==null)
{
throw new xxxxException("当前token已经过期");
}
因为你存起来的时候 就已经设置了过期时间.. 2H内有效
因为过期了,. 所以客户端肯定会收到这个东西...微信也一样.
至于如何持久化token 那是客户端的问题.. 你只关心这个key-value 2小时有效就行了...最简单的办法就是redis 设置这个时间..
过期了 客户端就自己重新使用用户名+密码 去重新调用你的gettoken接口了..
而你的gettoken接口 差不多就如下.伪代码.
var uid=requst["username"];
var pwd=requst["password"];
var logincheck=select count(1) from userinfo where .....
if(logincheck==1)
{
//登陆成功
var token=guid..newid();
redishelper.add<string>(token,uid,new timespan(0.2,0);
return token
}
else
{
throw new xxxxException("登陆失败");
}
当然我这个只是仅仅保存了用户名,,因为大部分业务都是基于用户名来操作的..
你也可以把user对象扔到redis的value里面 .根据实际需求来.需要什么 就保存什么.