NutzCN Logo
问答 ajax请求跨域 cookie问题
发布于 2532天前 作者 qq_10164104 1883 次浏览 复制 上一个帖子 下一个帖子
标签:

要做前后端分离,不在同一个域名下
现在有两个接口:一个登录接口login,一个userInfo接口。前端使用ajax请求
登录代码如下

Subject subject = SecurityUtils.getSubject();
            // ThreadContext.bind(subject);
            subject.login(token);
            SysUser user = (SysUser) subject.getPrincipal();
            subject.getSession().setAttribute("user", user);

            Cookie cookie = new Cookie("uid", _userInfo(user));
            cookie.setMaxAge(3600);

            response.addCookie(cookie);

            return Outs.ok("登录成功");

登录成功之后,前台页面调用userInfo接口,cookie没有传过来

SysUser user = new SysUser();
        HttpServletRequest request = Mvcs.getReq();

        Cookie[] cookies = request.getCookies();
        for (Cookie cookie : cookies) {
            if (cookie.getName().equals("uid")) {
                String v = cookie.getValue();
                byte[] uv = jedis().get(v.getBytes());

                if (uv != null) {
                     user = (SysUser) ToolKit.unserialize(uv);
                }

                break;
            }
        }

请问大神们,有没有好的解决办法

3 回复

那是要取cookie

前台取cookie 吗

cookie的value有长度限制的,而且你这种反序列化操作是非常不安全的

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