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

2019-12-01 21:53:16 +08:00
 ChunkitAu

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

3720 次点击
所在节点    Java
8 条回复
ShutTheFu2kUP
2019-12-02 08:29:51 +08:00
你前后端分离的吧?是不是前端第二次请求的时候没有带上 session?
ChunkitAu
2019-12-02 09:48:10 +08:00
@ShutTheFu2kUP 对 前后端分离 不过前端不怎么会 是后端返回一个 sessionid 然后前端请求在头部带上 sessionid ? 头部名为?
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
2019-12-02 10:05:47 +08:00
请求头是自定义的?那名字不应该问前端吗?
cnzjl
2019-12-02 10:19:30 +08:00
前后端分离项目,页面跳转时应该请求头会带上 cookie
telami
2019-12-02 13:41:43 +08:00
一楼菜鸡
fetch,axios 默认都不会带上 cookie 的,需要配置一下
credentials: "include"/withCredentials: true
ShutTheFu2kUP
2019-12-02 14:01:18 +08:00
@ChunkitAu 如果是 vue,用的 axios 发请求,挂在 axios 的时候加上 axios.defaults.withCredentials = true;

@telami 第一,我不是专业前端,我是干后端的。第二,装傻逼呢,全世界就你会,就你牛逼?
ShutTheFu2kUP
2019-12-02 14:04:01 +08:00
@telami 我一楼的意思就是它没有配置 cookie 带上 jsessionid,我自己没描述明白,因为我在公交上一只手打字,主要目的是问清楚是不是前后端分离。看不惯你这种回点技术就嘲讽别人的弱智

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/624865

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX