spring-security 如何动态加载Spring Security

p3rjfoxz  于 2022-11-11  发布在  Spring
关注(0)|答案(1)|浏览(241)

我有一个现有的供应商产品,它是用Sping Boot 编写的。我没有源代码/ POM文件/构建管道,但我想在其中实现Spring Security。
我知道这个产品扫描特定的目录,比如说/app/customlibs的JAR,它也尊重META-INF中的spring.factories,我已经使用这个特性添加了多个功能。
但是,由于基本产品没有Spring Security依赖项,因此我无法放置Spring Security规则,我应该在该目录/app/customlibs中放置什么,以便它可以动态加载Spring Security。是否可以将所有Spring Security JAR打包在一起?
我尝试手动放置与Spring Security相关的JAR和一个通过注解@EnableWebSecurity启用安全性的自定义类。
但应用程序无法启动。看起来Spring Security相关的筛选器未启用。


***************************

APPLICATION FAILED TO START

***************************

Description:

Field clientRegistrationRepository in com.example.workflow.config.WebAppSecurityConfig required a bean of type 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository' that could not be found.

The injection point has the following annotations:
        - @org.springframework.beans.factory.annotation.Autowired(required=true)
ny6fqffe

ny6fqffe1#

谢谢所有我能够解决它。这是Camunda-Run产品。解决方案:
1.我已经创建了自定义的okta插件jar,其中包含我所有的安全配置,我在META-INF/spring.factories中添加了以下内容
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.example.workflow.config.WebAppSecurityConfig
2.我不得不手动将以下jar文件复制到Camunda扫描jar文件的userlib文件夹中。我知道这是一个肮脏的解决方案:我计划创建一个POM/BOM项目,用于自动依赖关系管理。

一旦我实现了干净解决方案,我会将GitHub链接分享到我的存储库。

相关问题