没有类型为'org.springframework.cloud.bootstrap.encrypt.RsaProperties'的合格bean

时间:2018-08-14 19:02:31

标签: java spring spring-boot spring-security

正如标题所示,我收到了nosuchbean异常,只是在此处添加文本以满足大多数代码要求。

已将无限的加密罐放在jre \ lib \ security

在应用程序中src \ main \ resources中创建的密钥存储,称为config-server.jks

application.properties(尝试了两个密钥库位置属性定义)

highlightBlocks(value) {
 this.$(`.${value}`).addClass('highlighted-block');
}

使用Java 1.8.0_77

server.port=8888
spring.cloud.config.server.git.uri=ssh://git@v00bitbucket:7999/proj/config-server.git
spring.cloud.config.server.git.clone-on-start=true
security.user.name=Joe
security.user.password={bcrypt}$2a$10$7H8tnjyf/Mn90eAZADruterXJ.t.GQP4WgRIZ8cwnRsMmhZhCtS1a
#encrypt.key-store.location=classpath:/config-server.jks
encrypt.key-store.location=file://C:/myAppDir/config- server/src/main/resources/config-server.jks
encrypt.key-store.password=my-s70r3-s3cr3t
encrypt.key-store.alias=config-server-key
encrypt.key-store.secret=my-k34-s3cr3t

这是pom {

@RunWith(SpringRunner.class)
@SpringBootTest
public class ConfigServerApplicationTests {    
    @Test
    public void contextLoads() {
    }
}    


@SpringBootApplication
@EnableConfigServer
public class ConfigServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConfigServerApplication.class, args);
    }
}

@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
    @Value("${security.user.name}")
    private String authUser;
    @Value("${security.user.password}")
    private String authPassword; // this password is encoded
    @Autowired
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication().passwordEncoder(PasswordEncoderFactories.createDelegatingPasswordEncoder())
        .withUser(authUser).password(authPassword).roles("User");
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().anyRequest().fullyAuthenticated();
        http.httpBasic();
        http.csrf().disable();
    }
}

}

1 个答案:

答案 0 :(得分:4)

也遇到了这个问题。

我最大的猜测是这是Spring Cloud最新版本中的错误。我将在Spring Cloud项目中打开一个问题,并在完成后将其链接到这里。

我正在使用application.yml,而不是application.properties。

当您在应用程序yml中放置任何用于加密的配置:*时,它将出现此错误。作为一项工作,我尝试将crypto:*配置放入 bootstrap.yml

此后,Spring Boot应用程序成功启动,它将具有 RsaProperties Bean:)

希望这会有所帮助!