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         }
  • 相关阅读:
    WPF-ListView单元格设置文字换行
    WPF-GridView设置列宽按比例分配
    C#控制台输入密码星号显示
    安装pycharm
    超强的链接2
    redis
    day 46 htmljianjie
    day45 html超文本标记语言
    43 非阻塞 io多路复用
    42 队列 线程池 协程 geven模块 协程完成的socket
  • 原文地址:https://www.cnblogs.com/bigwolf/p/4645385.html
Copyright © 2011-2022 走看看