shiro 账号登录用户

 管理任意切换其他的用户 -- 代码实现  不需要密码前端只需要传个用户账号即可

后端接口返回token 前端只需要替换

 后端代码

    @Override
    public UserVO switchUsers(LoginDTO loginDTO) {
        // 获取账号名称
        String loginName = loginDTO.getUsername();
        // 查询用户信息
        Example example = new Example(User.class);
        example.createCriteria().andEqualTo("username", loginName);
        User user1 = userMapper.selectOneByExample(example);
        // 获取当前用户信息
        Subject subject = SecurityUtils.getSubject();

        // 将用户信息存入redis中
        RedisHelper.add(subject.getSession().getId() + "", user1);

        User user2 = (User) RedisHelper.get(subject.getSession().getId() + "");
        UserVO userVO = new UserVO();
//        if(user2 != null){
//             userVO = (UserVO) AttributeReflectUtil.copyData(new UserVO(), user2, false, true);
//        }
        userVO.setLoginToken(subject.getSession().getId() + "");
        System.out.println(userVO);
        // 将用户信息存入redis中
        RedisHelper.updateExpire(subject.getSession().getId() + "", 180 * 60);
        return userVO;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值