NutzCN Logo
问答 nutzboot前后端分离 shiro的问题
发布于 1630天前 作者 qq_7aad0313 1399 次浏览 复制 上一个帖子 下一个帖子
标签:

用户登录成功之后 session中好像未保存用户的信息 下一次请求的时候获取的用户信息为空
如下代码使用Sys_user user = (Sys_user) SecurityUtils.getSubject().getPrincipal();可以获取用户信息,这是刚刚登录成功的时候

@At("/login")
    @Ok("json")
    public Object doLogin(HttpServletRequest request){
        Subject currentUser = SecurityUtils.getSubject();
        String loginname = request.getParameter("loginname");
        String password = request.getParameter("password");
        UsernamePasswordToken token = new UsernamePasswordToken(loginname,password);
        try {
            currentUser.login(token);
            //=======================
        }catch (IncorrectCredentialsException incorrectCredentialsException){
            incorrectCredentialsException.printStackTrace();
            return Result.error("用户名或密码错误");
        }catch (UnknownAccountException unknownAccountException){
            unknownAccountException.printStackTrace();
            return Result.error("账户不存在");
        }catch (LockedAccountException lockedAccountException){
            lockedAccountException.printStackTrace();
            return Result.error("账户已锁定");
        } catch (Exception e){
            e.printStackTrace();
            return Result.error();
        }
        //登录成功
        Sys_user user = (Sys_user) SecurityUtils.getSubject().getPrincipal();
        return Result.success().addData(token);
    }

但是如果登录成功之后再请求其他方法,使用Sys_user user = (Sys_user) SecurityUtils.getSubject().getPrincipal();则为null,请问这是什么原因?

3 回复

后端打印cookie来排查

前后端分离,每次请求线程都是不同的怎么用session呢,使用token机制

@Wizzercn 请问有项目可以参考吗

添加回复
请先登陆
回到顶部