首页 > 其他分享 >业务需求:用户登录后,再新的设备上又登录一次(提示用户是否继续登录)

业务需求:用户登录后,再新的设备上又登录一次(提示用户是否继续登录)

时间:2024-03-13 16:24:23浏览次数:22  
标签:ResponseData 登录 提示 用户 param token 设备

需求: 用户点击"取消"则当前登录取消,点击"确认"则把退出上个设备的登录,并在当前设备登录

image

思路

在login时判断该用户是否有token

有:表示已经登录过了,回状态码和信息给 前端"用户进行二次登录"

无:表示用户第一次登录

        //用户进行新设备登录,判断当前用户token是否存在redis
            Boolean repeat = redisUtil.hasKey("token_" + userAccount.getAccount());
            if (repeat) {
                return new ResponseData<>(RspCodeMsgEnum.LOGIN_REPEAT, "用户使用新设备登录");
            }

新建接口:二次登录接口(在新设备上点击确实登录时调用)

逻辑:

1、下线上次的登录状态(清楚该用户的token)

2、拿到当前用户的信息调登录接口 继续登录

  @Override
    public ResponseData<LoginVO> loginRepeat(LoginParam param) {
        log.info("用户进新设备登录");
        if (!"admin".equals(param.getAccount())) {
            String account = param.getAccount();
            //删除第一次登录时的token
            redisUtil.del("token_" + account);
            //执行登录
            log.info("旧token已删除,开始重新登录");
            return login(param);
        } else {
            return new ResponseData<>(RspCodeMsgEnum.FAIL);
        }

    }

完成

效果是用户第二次登录时,把第一次登录状态清空。

标签:ResponseData,登录,提示,用户,param,token,设备
From: https://www.cnblogs.com/czh4869/p/18070881

相关文章

  • Oracle创建用户,授权,取消授权常用语句整理
    --删除用户及及用户下的所有数据dropuserxxxcascade;--创建用户赋予密码createuserxxxidentifiedby1234;--赋予权限grantdbatoxxx;--删除权限revokedbafromxxx;--赋予用户登录数据库的权限grantcreatesessiontoxxx;--授予用户操作表的权限gran......
  • Git自动切换提交时使用的用户名
    根据远程地址自动切换commit时候使用的用户名。比如一般都是使用下面nickname提交,但如果待提交仓库包含ssh://[email protected]/**这样的远程地址,则自动使用MY_NAME进行commit先找到.gitconfig文件位置gitconfig--origin--list编辑.gitconfig,增加includeIf段的内容.gi......
  • springboot--登录
     登录1.根据用户名查询用户2.判断用户是否存在3.判断密码是否正确。(1)password是密文Md5Util.getMD5String(password).equals(loginUser.getPassword())(2)把token存储到redis中 controller:UserController@RestController@RequestMapping("/user")@Validatedpubl......
  • C# danbooru Stable Diffusion 提示词反推 Onnx Demo
    目录说明效果模型信息项目代码下载 C#danbooruStableDiffusion提示词反推OnnxDemo说明模型下载地址:https://huggingface.co/deepghs/ml-danbooru-onnx效果模型信息Model Properties-----------------------------------------------------------------......
  • springmvc入门登录功能
    学习springmvc的时候的一个入门功能,登录功能。配置好web框架,导入需要springjar包和springmvc需要的两个jar包,就可以编码了,首先写了登录需要的jsp页面<%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>Title</title></hea......
  • C# RAM Stable Diffusion 提示词反推 Onnx Demo
    目录介绍效果模型信息项目代码下载C#RAMStableDiffusion提示词反推OnnxDemo介绍github地址:https://github.com/xinyu1205/recognize-anythingOpen-sourceandstrongfoundationimagerecognitionmodels.onnx模型下载地址:https://huggingface.co/CannotFi......
  • 【DM8】7-用户和对象管理
    7-用户和对象管理–用户权限角色用户是连接数据库进行相关操作的–模式是一个用户拥有的所有数据库对象的集合每个用户都有自己默认的模式模式名和用户名一样–权限是执行特定类型sql命令或访问其他模式对象的权利,用于限制用户可执行的操作–角色是将具有相同权......
  • ChatGPT提问技巧——问题解答提示
    ChatGPT提问技巧——问题解答提示问题解答提示是一种允许模型生成回答特定问题或任务的文本的技术。要做到这一点,需要向模型提供一个问题或任务作为输入,以及与该问题或任务相关的任何附加信息。一些提示示例及其公式如下:示例1:回答事实性问题任务:回答一个事实性问题说......
  • linux文件管理与用户管理
    linux文件管理与用户管理1、查看文件内容1、1回顾之前的命令cat命令tac命令head命令tail命令扩展:tail-f动态查看一个文件的内容1、2more命令分屏显示文件基本语法:#more文件名称特别注意:more命令在加载文件时并不是一点一点进行加载,而是打开文件就已经把文件内容......
  • ChatGPT提问技巧——总结提示
    ChatGPT提问技巧:总结提示摘要提示是一种允许模型生成给定文本的较短版本,同时保留其主要观点和信息的技术。具体做法是将较长的文本作为输入提供给模型,并要求它生成该文本的摘要。这项技术适用于文本摘要和信息压缩等任务。如何与ChatGPT一起使用:输入较长的文本,要求模......