zoukankan      html  css  js  c++  java
  • spring接口用户超时验证

      目前APP调用java后端接口的开发屡见不鲜。然而Http协议是短连接,APP和java后端不可能在一个容器中运行,所以就造成了会话无法记录。

      通过服务端生成token,服务端把token放入容器中,APP访问接口传入token到服务端验证是否过期,如果过期则用户超时,反之顺利调用。

      案例

      登录通过后调用此代码,把token返回给APP

    1         String token = UUID.randomUUID().toString().replaceAll("-", "");
    2         if (resultVOAPP.isSuccess()) {
    3             User user = (User) resultVOAPP.getObject();
    4             user.setToken(token);
    5 cachedClient.add(token, Constant.LOGIN_VAILD, j); 6 }

    APP每次调用需要登录的接口传入token,在spring拦截器中验证是否存在token

     1         Boolean mark = false;
     2         String token = pvs[i].substring(pvs[i].indexOf("=") + 1);
     3           if (StringUtil.isEmpty(token)) {
     4               mark = true;
     5           } else {
     6                String userVO = cachedClient.get(token);
     7           if (StringUtil.isEmpty(userVO)) {
     8               mark = true;
     9           }
    10         }
    11         if (mark) {
    12             ResultVOAPP resultVO = new ResultVOAPP(ResultCode.ERROR_NOAUTHORITY);
    13             return resultVO;
    14         }
  • 相关阅读:
    js中定时器2
    js中定时器之一
    js中的Event对象
    hdu 1041(递推,大数)
    hdu 1130,hdu 1131(卡特兰数,大数)
    hdu 2044-2050 递推专题
    hdu 3078(LCA的在线算法)
    hdu 1806(线段树区间合并)
    hdu 3308(线段树区间合并)
    poj 2452(RMQ+二分查找)
  • 原文地址:https://www.cnblogs.com/bigwolf/p/4645385.html
Copyright © 2011-2022 走看看