Spring boot 2.6.0 创建名为“webSecurityConfig”的 bean 时出错

2023-11-22

我无法将我的 Spring Boot 应用程序从 2.5.7 更新到 2.6.0。它抛出以下错误。

2021-12-07T08:40:22,311 ERROR [restartedMain] o.s.b.SpringApplication.reportFailure:819|| Application run failed org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'webSecurityConfig': 
The requested bean is currently in creation: Is there an unresolvable circular reference?
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.beforeSingletonCreation(DefaultSingletonBeanRegistry.java:355)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:227)

从 spring-boot 2.6.0 发行说明中可以清楚地看出,循环引用被禁用。并且可以通过该属性重新启用它spring.main.allow-circular-references = true。但我想首先修复循环引用。谁能帮我解决这个问题?请找到网络安全配置下面的课,

@Configuration
@EnableWebSecurity
@SuppressWarnings({"PMD.SignatureDeclareThrowsException"})
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    private final UserDetailsService userDetailsService;

    public WebSecurityConfig(final UserDetailsService userDetailsService) {
        this.userDetailsService = userDetailsService;
    }

    @Bean
    public BCryptPasswordEncoder bcryptPasswordEncoder() {
        return new BCryptPasswordEncoder();
    }

    @Override
    protected void configure(final HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                    .antMatchers("/resources/**", "/registration", "/css/**", "/js/**", "/h2-console/*").permitAll()
                    .anyRequest().authenticated().and()
                .formLogin()
                    .loginPage("/login").permitAll().and()
                .headers()
                    .frameOptions().sameOrigin().and()
                .logout()
                    .permitAll().and()
                .requiresChannel()
                    .requestMatchers(r -> r.getHeader("X-Forwarded-Proto") != null)
                    .requiresSecure();
    }

    @Autowired
    public void configureGlobal(final AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService).passwordEncoder(bcryptPasswordEncoder());
    }
}

我的代码是开源的,可以在以下位置找到https://github.com/surajcm/Poseidon,我会尝试自行排除故障,如果能够解决此问题,我会分享更新


问题是密码编码器。需要构建自动配置的UserDetailsService您注入类的构造函数中。

您可以通过创建 bean 工厂方法来打破循环static:

@Bean
public static BCryptPasswordEncoder bcryptPasswordEncoder() {
    return new BCryptPasswordEncoder();
}

您还可以将工厂方法移动到不同的配置类。但在我看来,你的WebSecurityConfig是该方法的规范位置。

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

Spring boot 2.6.0 创建名为“webSecurityConfig”的 bean 时出错 的相关文章

  • IBM Websphere MQ - 用于 Tomcat 部署的 EJB 和 MDB 迁移

    我已经为此苦苦挣扎了很长一段时间 我有一个 IBM Websphere MQ 它使用 EJB 和 MDB 以下是配置ejb mdb的地方
  • 从 Android 函数更新 Textview

    有人可以告诉我如何从函数更新 Android Textview 控件吗 我在互联网上进行了深入搜索 看到很多人都问同样的问题 我测试了线程但无法工作 有人有一个简单的工作示例吗 例如 调用一个函数 在循环中运行多次 并且该函数在 TextV
  • java 拖放

    我尝试熟悉java中的拖放 但我发现的所有教程都是 让我生气 我想要的只是从 JList 包含在名为 UserPanel 的自制 JPanel 中 拖动 PublicUserLabel 并将其放入从 JTabbedPanel 继承的自制类中
  • Selector.close() 是否关闭所有客户端套接字?

    我是 nio 套接字的新手 我已经使用 nio 套接字编写了一个服务器 现在我正在尝试编写关闭钩子以确保通过清理资源正常退出 我的问题是Selector close 方法关闭所有客户端套接字 如果没有 请告诉我如何访问所有客户端套接字 而无
  • 使用 Spring Security 时,SecurityContext 是否在请求之间共享?

    在使用 Spring Boot 编写的 Rest API 上使用基于无状态令牌的身份验证时 我看到一些奇怪的行为 客户端在每个请求中包含一个 JWT 令牌 并且我编写的扩展 GenericFilterBean 的自定义过滤器使用以下命令将基
  • 用于制作代码编辑器的 JavaFX 相当于 JSyntaxPane 的什么?

    以前在 Swing 中 我使用过JSyntaxPane用于制作一个小型 Java 源代码编辑器 为了练习 我决定用 JavaFX 重做整个项目并添加对更多语言的支持 最好是尽可能多 不过好像没有什么类似的JSyntaxPane 一些研究让我
  • 在 Eclipse 中删除空块之前的新行

    我更喜欢奥尔曼式 http en wikipedia org wiki Brace style Allman style大括号 例如 if foo magical prancing unicorn stuff 而不是 if foo unma
  • JFrame 在连续运行代码时冻结

    我在使用时遇到问题JFrame 它会冻结 连续运行代码 下面是我的代码 点击时btnRun 我调用了该函数MainLoop ActionListener btnRun Click new ActionListener Override pu
  • Spring SpEL - 用于创建字符串和自定义对象映射的表达式语言

    我在用着春季启动从属性文件中读取以下内容的示例 sub region data AF subRegionCd 34 subRegionName Southern Asia subRegionDesc status A 我在下面使用过 但不起
  • java.exe 以非零退出值 1 结束

    只是为了开始 我并不是真正尝试从 Android 中的 xlsx 文件中读取单元格 我已经尝试了几乎所有我在 Google 上搜索到的内容 但是每次 在两台不同的 PC 上 都是 Java 1 7 0 79 当我尝试构建 运行 这个应用程序
  • java绕中心旋转矩形

    我想围绕其中心点旋转一个矩形 它应该保留在应该绘制的位置并在该空间中旋转 这是我的代码 AffineTransform transform new AffineTransform transform rotate Math toRadian
  • React Native v0.71.8 React-native-vector-icons 你看不到的图标

    我在用react native版本v0 71 8 我安装了react native vector icons库 但图标未显示 似乎链接在最新版本的 React Native 中不再起作用 所以我按照说明进行操作 但它不再编译 出现以下错误
  • Spring Security 角色层次结构不适用于 Thymeleaf sec:authorize

    我正在使用 Spring Security 3 2 5 RELEASE 和 ThymeLeaf 2 1 4 RELEASE 我已经在安全上下文中定义了角色层次结构 在我的视图层中我正在使用sec authorize属性来定义菜单项 我希望看
  • 在 Eclipse RCP 应用程序中禁用插件贡献

    我经常遇到这个问题 但尚未找到解决方案 每当我编写一个新的基于 Eclipse RCP 的应用程序并包含来自 Eclipse 平台的插件时 我都会 继承 其中一些插件的 UI 贡献 大多数贡献 菜单项 键盘快捷键 属性页 都很有用 但有时我
  • 如何在 JASPIC 中保存经过身份验证的用户?

    我开发了一个安全认证模块 SAM 并实现了validateRequest方法 我还有一个简单的 Web 应用程序配置为使用此 SAM In my validateRequest方法 我检查 clientSubject 并设置一个Caller
  • Hybris:如何在impex中导入zip文件中的媒体?

    我知道我们可以导入未像这样压缩的图像 siteResource jar com project initialdata constants ProjectInitialDataConstants projectinitialdata imp
  • 如何在一次操作中使用 Thymeleaf 检查 null 和空条件?

    有什么方法可以检查 Thymeleaf 中的 null 和empty 条件吗 方法一 1 variable1 variable2 variable3 2 variable null 3 variable 如果我们结合两个条件 例如 vari
  • Spring 如何在运行时获取有关“强类型集合”的泛型类型信息?

    我在 Spring 3 0 文档中阅读了以下内容 强类型集合 仅限 Java 5 在 Java 5 及更高版本中 您可以使用强类型集合 使用泛型类型 也就是说 可以声明一个 Collection 类型 使其只能包含 String 元素 例如
  • 假布尔值=真?

    我在一本书中找到了这段代码 并在 Netbeans 中执行了它 boolean b false if b true System out println true else System out println false 我只是不明白为什
  • FragmentMap + ActionBar 选项卡

    我一直在尝试插入一个MapView进入一个ActionBar Tab 但我什至无法解决问题 即使谷歌搜索 这是主要活动 Override public void onCreate Bundle savedInstanceState supe

随机推荐

  • 如何向极坐标图(玫瑰图)添加颜色条?

    In 这个例子颜色与每个条形的半径相关 如何向该图添加颜色条 我的代码模仿 玫瑰图 投影 它本质上是极坐标投影上的条形图 这是其中的一部分 angle radians 10 patches radians 360 angle theta n
  • JSP 或 JavaScript 相当于 PHP 的 $_SERVER["HTTP_HOST"]?

    我在 JavaScript 中使用了绝对 URL 并为 window location 进行了硬编码 我不想每次测试我的应用程序时都必须更改此设置 在 PHP 中 我会通过测试 SERVER HTTP HOST 变量来找出我所在的服务器 并
  • Google App Engine“没有名为 pwd 的模块”

    我能够很好地运行我的 Google App Engine 项目 我使用 Python Flask 来开发 Web 应用程序 但是当我将系统从 Ubuntu 12 04 升级到 14 04 时 App Engine 项目在本地系统上变得无响应
  • 抽象如何帮助隐藏 Java 中的实现细节?

    抽象是隐藏实现细节并仅向用户显示功能的过程 另一种方式是 它只向用户显示重要的内容并隐藏内部细节 下面是一个创建抽象类并重写抽象方法的示例 但我不明白的是它是如何隐藏实现细节的 abstract class Bank abstract in
  • iPhone:检测 UIImageView 图像序列动画结束的最佳方法

    我们知道UIImageView对图像序列动画有很好的支持 我们可以轻松创建 UIImage 对象的数组 设置animationImages属性 配置动画持续时间 重复计数等 然后直接触发 但似乎没有办法知道这个动画什么时候结束 假设我有十张
  • VS2013调试时的身份验证问题-iis express

    我试图在 Visual Studio 2013 中调试时获取 Windows 用户名 我只是使用 httpcontext current user identity name 如果我在我的开发服务器上运行它 它可以正常工作 如果我在任何以前
  • htaccess 中的子域重定向[关闭]

    Closed 这个问题是无关 目前不接受答案 我想知道使用 htaccess 规则是否可以实现以下场景 我希望将一个子域重定向到另一个网址 我已联系服务器管理员将 test 子域添加到 example com 域 主域没有其他子域 我必须在
  • 自定义视图,使用不同的子视图对角分割布局

    我怎样才能分开LinearLayout or RelativeLayout对角线分成两个不同的尺寸 每个都有不同的子视图 例子ViewPager在上半部分和不同的LinearLayout在底部 像这样的东西 我怎样才能做到这一点 请帮忙 最
  • Twitter Bootstrap 3 Typeahead / Tagsinput 完成两次

    编辑 添加工作 JSFiddle 我正在使用 Twitter Bootstrap TagsInput 和 Bootstrap Typeahead 我的源是一个 json 文件 但这无关紧要 我已经检查了静态源 预输入和标签输入正在工作 但是
  • git-svn clone 或 svn2git 意外停止

    我正在尝试使用以下命令从 git 迁移到 svn git svn clone stdlayout https my sourcecontrol 或使用 git2svn svn2git notags https sourcecontrol v
  • .Net 应用程序可以转换为便携式应用程序,即单个 .exe

    Net 应用程序可以转换为单个 exe 可移植应用程序吗 即没有安装程序 它只是运行 我想所有的 dll 资源等都需要嵌入到 exe 中吗 如果是这样 我该怎么做 Thanks 你可以使用ILMerge将所有程序集合并为一个可执行文件 但您
  • MySQL:获取特定行的行号(排名)

    我有一个users具有名为的列的表money sent 我想通过以下方式订购这张桌子money sent按降序排列 然后找出特定用户的 排名 例如 只有 111 人比用户 12392 花费的钱更多 因此他们的排名为 112 我该如何查询这个
  • URL 嵌入凭证

    维基百科说HTTP 基本身份验证依赖于Authorization用于从客户端向服务器提供凭据的标头 但也可以将凭据嵌入 URL 中 http s
  • 找不到模块“express”(带有 docker 的节点应用程序)

    我是 Docker 新手 我正在尝试从 NodeJS 开始 所以这是我的问题 我的项目中有这个 Dockerfile FROM node argon Create app directory RUN mkdir p home Documen
  • 如何设置LIBSVM Matlab界面?

    我在 MATLAB 中实现 LibSVM 时遇到问题 我正在使用 MATLAB R2009a 我也有最新版本 R2012b 但我不使用那个 我将 LibSVM 包 libsvm 3 14 下载到我的 Windows 7 PC 上 其中 MA
  • 如何使用固定的外部分层集群创建热图

    我有一个矩阵数据 想用热图将其可视化 这些行是物种 所以我想可视化行旁边的系统发育树 并根据树对热图的行重新排序 我知道heatmapR 中的函数可以创建层次聚类热图 但如何使用我的系统发育聚类而不是图中默认创建的距离聚类 首先你需要使用包
  • 安装 cygwin 需要帮助:可能是 ini 文件问题

    我正在尝试在我的 Windows 7 计算机上安装 cygwin 我通过开始安装来获得设置http www cygwin com 我选择 从互联网安装 链接到http www cygwin com setup exe 然后在向导中依次选择
  • css3 flexbox 与 Firefox 和 Safari 的兼容性问题

    我正在尝试整理我的 Flexbox 布局 使其与最新版本的 IE Firefox Safari 兼容 但我在使用 Firefox Safari 时遇到问题 建议布局 header nav section 在 Firefox 和 Safari
  • 如何使 text-shadow 和 box-shadow 在所有浏览器上使用文本颜色?

    我正在尝试为带有与其文本颜色相同的阴影的框创建样式 因为我有几个框 每个框都有不同的文本颜色 所以我想避免在每个框的每个规则集中重复相同的颜色 现在 背景和边框模块指出 对于box shadow 这也适用于text shadow Where
  • Spring boot 2.6.0 创建名为“webSecurityConfig”的 bean 时出错

    我无法将我的 Spring Boot 应用程序从 2 5 7 更新到 2 6 0 它抛出以下错误 2021 12 07T08 40 22 311 ERROR restartedMain o s b SpringApplication rep