如何在 AuthenticationSuccessHandler 中检索会话范围的 bean?

2024-04-05

我有一个自定义的 AuthenticationSuccessHandler。

我想要做的是在 onAuthenticationSuccess 方法中设置一些会话数据。

为了存储会话数据,我想使用会话范围的 bean,它在任何控制器中都可以正常工作。

但是如果我尝试在 onAuthenticationSuccess 方法中检索它,我会得到一个异常:

使用名称创建 bean 时出错 'scopedTarget.sessionData':范围 “会话”未处于活动状态 当前线程;

我的代码是:

WebApplicationContext context = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext());
SessionData sessionData = context.getBean(SessionData.class);

有任何想法吗?


您可以尝试声明一个监听器,该监听器公开实现会话范围所需的状态:

<listener>
  <listener-class>
      org.springframework.web.context.request.RequestContextListener
  </listener-class>
</listener>

默认情况下,该状态由DispatcherServlet,所以在请求进入之前不可用DispatcherServlet(例如在 Spring Security 过滤器中)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 AuthenticationSuccessHandler 中检索会话范围的 bean? 的相关文章

随机推荐

  • Simulink/HDL Coder 中的反馈循环

    我有一个 Simulink HDL 编码器系统 请参见下图 我有 3 个输出和 3 个输入 我希望我的系统运行 10 次 每次迭代后 它应该选择输出并将它们用作输入 我怎样才能做到这一点 使用存储器和每个信号的初始值块构建一个循环 内存块允
  • 一家大型、分散的公司应该如何与 iOS 开发者计划合作?

    I think这是SO的工作 而不是程序员 https softwareengineering stackexchange com 如果我错了请告诉我 我在一家公司工作 该公司在全国 美国 各地设有多个办事处 我所在的部门希望获得 Appl
  • 如何检查函数的类型参数是否静态解析?

    非常简单的例子 let myfun x x在智能感知中 它显示 x a gt a 在 FSI 中 它显示 x a gt a let inline myfun x x在智能感知中 它显示 x a gt a 在 FSI 中 它显示 x a gt
  • msbuild SLN 并且仍然获得单独的项目输出?

    我有一个普通的 SLN 文件 我可以从命令行使用 msbuild 很好地编译它 我这样做 C slndir gt msbuild p OutDir C slnbin 它将所有内容转储到 C slnbin 但网站除外 网站部署到 C slnb
  • 按属性对 XML 文件进行排序

    我有以下 XML 代码
  • 如何通过JSON的replacer函数对对象进行字符串化?

    这是我的代码 BAD a 2 b 1 c Nexus d Alligator e 5 f 1431807036 g 2 w 17 b 5 console log JSON stringify BAD a
  • 组图模式在 SPARQL 中如何工作

    首先 我不知道这是否真的称为组图模式 反正 请看看这个查询 select x y where x rdf type rs Recommendable union xd rs doesntexist y 有no rs doesntexist但
  • Paramiko:从公钥字符串创建 PKey

    我试图在低级别使用 SSH 协议 即我不想启动 shell 或任何东西 我只想传递数据 因此 我正在使用Paramiko的Transport http www lag net paramiko docs paramiko Transport
  • 乐谱库

    我是一名 Python 黑客 希望构建一个乐谱应用程序 我很擅长阅读 理解乐谱 弹钢琴多年 这是我完整的新手问题 是否有以数字方式表示笔记的标准 我不想重新发明任何轮子 给定一系列音符和持续时间 是否有一个库可以以乐谱格式显示这些内容 基本
  • 为什么我收到 422 错误代码?

    我正在发出 POST 请求 但除了 422 响应之外无法获得任何内容 Vue js 客户端代码 new Vue el app data form companyName street city state zip contactName p
  • iOS:Facebook 聊天头行为和动画

    这个问题可能有点过时了 但我一直在使用新的 iOS 版 Facebook 的 聊天头 功能 聊天头仅出现在应用程序中 并且想知道 Facebook 是如何实现这一点的 例如 他们如何处理聊天头的拖动动画 以及 当单击聊天头时 他们如何设法将
  • 在redux中间件中使用react-router进行重定向

    我创建了一个中间件来检查请求是否返回无效的访问响应 如果状态是 401 我想将用户重定向到登录页面 这是中间件代码 import React from react import push replace from react router
  • TPageControl 上的 TLinkLabel 背景

    我试图在 TPageControl 上使用 TLinkLabel 但找不到让它使用父级背景的方法 Image removed because the website doesn t exist any more and I can t fi
  • iOS 文本字段验证

    我需要一种方法来确保电话号码有 10 位数字 没有其他字符 即 并确保电子邮件地址是有效的电子邮件 格式正确 有没有任何库不能让我轻松做到这一点 这样我就不必编写正则表达式了 这将检查 UITextField 是否包含 10 位或更少的正确
  • 如何设置使用 ChartFactory.createBarChart 创建的 BarGraph 的 Y 轴范围

    我使用创建了一个条形图jfree chart ChartFactory使用下面的代码 我需要将Y轴的范围设置为0 100 如何设置最大值 import java io File import org jfree chart ChartFac
  • 在 Swift 中仅更改 AttributedText 的字体

    我在 IB 中创建了许多 UILabel 它们都有属性文本 每个标签的文本包含多行不同字体大小和颜色 在运行时 我希望能够仅更改这些标签的字体名称 而不更改现有的字体大小或颜色 我进行了研究 但找不到直接的方法来实现这一目标 有任何想法吗
  • 在现有 Firebase 项目目录中初始化 firebase CLI 功能

    我正在尝试将 托管 功能添加到已安装 Functions 的 Firebase 项目文件中 所以我想知道我是否可以使用 Firebase Init 来做到这一点 否则这将删除我现有的 firebase 功能 无论如何 我可以在不删除 Fir
  • Parallel.ForEach 和 DataTable - DataTable.NewRow() 不是线程安全的“读取”操作吗?

    我正在转换现有的应用程序以利用多个处理器 我有一些嵌套循环 并且我已将最内层循环转换为 Parallel Foreach 循环 在原始应用程序中 在最内层循环内 代码将调用DataTable NewRow 要实例化适当布局的新 DataRo
  • php oop 使用 ajax 登录失败

    我已经使用 php oops 和 ajax 作为登录按钮完成了登录页面 if isset result username 它以 Json 类型返回错误的详细信息 if isset result username 其返回成功的 Json 类型
  • 如何在 AuthenticationSuccessHandler 中检索会话范围的 bean?

    我有一个自定义的 AuthenticationSuccessHandler 我想要做的是在 onAuthenticationSuccess 方法中设置一些会话数据 为了存储会话数据 我想使用会话范围的 bean 它在任何控制器中都可以正常工