V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ChunkitAu
V2EX  ›  Java

Shiro 登录成功 但发生请求得到未登录

  •  
  •   ChunkitAu · 2019-12-01 21:53:16 +08:00 via Android · 3887 次点击
    这是一个创建于 1820 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在前端登录 显示登录成功后,跳转到另一个页面 但再次发送请求时 返回未登录

    8 条回复    2019-12-02 14:04:01 +08:00
    ShutTheFu2kUP
        1
    ShutTheFu2kUP  
       2019-12-02 08:29:51 +08:00 via iPhone
    你前后端分离的吧?是不是前端第二次请求的时候没有带上 session?
    ChunkitAu
        2
    ChunkitAu  
    OP
       2019-12-02 09:48:10 +08:00 via Android
    @ShutTheFu2kUP 对 前后端分离 不过前端不怎么会 是后端返回一个 sessionid 然后前端请求在头部带上 sessionid ? 头部名为?
    qinxi
        3
    qinxi  
       2019-12-02 10:00:45 +08:00
    @ChunkitAu #2 默认情况 下 第一个请求的响应 HEADER 有 SET-COOKIE . 会有个 Sessionid,请求 header 带上 Cookie 内容就行

    在不同的策略下 SET-COOKIE 的时机不一样, spring security 可以设置登陆后更新 session 等策略, shiro 好久没用过了不知道是不是也有这样的


    你也可以设置用其他 header 代替.比如 Authentication,或者 token,应该都可以, cookie 方便, 前端不用单独处理了
    zsy979
        4
    zsy979  
       2019-12-02 10:05:47 +08:00
    请求头是自定义的?那名字不应该问前端吗?
    cnzjl
        5
    cnzjl  
       2019-12-02 10:19:30 +08:00
    前后端分离项目,页面跳转时应该请求头会带上 cookie
    telami
        6
    telami  
       2019-12-02 13:41:43 +08:00
    一楼菜鸡
    fetch,axios 默认都不会带上 cookie 的,需要配置一下
    credentials: "include"/withCredentials: true
    ShutTheFu2kUP
        7
    ShutTheFu2kUP  
       2019-12-02 14:01:18 +08:00
    @ChunkitAu 如果是 vue,用的 axios 发请求,挂在 axios 的时候加上 axios.defaults.withCredentials = true;

    @telami 第一,我不是专业前端,我是干后端的。第二,装傻逼呢,全世界就你会,就你牛逼?
    ShutTheFu2kUP
        8
    ShutTheFu2kUP  
       2019-12-02 14:04:01 +08:00
    @telami 我一楼的意思就是它没有配置 cookie 带上 jsessionid,我自己没描述明白,因为我在公交上一只手打字,主要目的是问清楚是不是前后端分离。看不惯你这种回点技术就嘲讽别人的弱智
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1169 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:10 · PVG 02:10 · LAX 10:10 · JFK 13:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.