ulisesbocchio / jasypt-spring-boot

Jasypt integration for Spring boot
MIT License
2.88k stars 514 forks source link

jasypt-spring-boot-starter-2.0.0: not working #91

Closed bydongxing closed 5 years ago

bydongxing commented 6 years ago

when my Springboot2.x use jasypt-spring-boot-starter-2.0.0 have some issue:

2018-07-20 14:25:44.328 INFO 44896 --- [ main] y.f.s.SpringbootSimpleApplication : Starting SpringbootSimpleApplication on Lenovo-PC with PID 44896 (E:\IntelliJ_IDEA_WorkSpace\springboot-simple\target\classes started by Lenovo in E:\IntelliJ_IDEA_WorkSpace\springboot-simple) 2018-07-20 14:25:44.337 INFO 44896 --- [ main] y.f.s.SpringbootSimpleApplication : No active profile set, falling back to default profiles: default 2018-07-20 14:25:44.498 INFO 44896 --- [ main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@3721177d: startup date [Fri Jul 20 14:25:44 CST 2018]; root of context hierarchy 2018-07-20 14:25:45.547 ERROR 44896 --- [ main] c.a.druid.pool.DruidAbstractDataSource : load exceptionSorter error : true Fri Jul 20 14:25:45 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 2018-07-20 14:25:45.985 ERROR 44896 --- [ main] com.alibaba.druid.pool.DruidDataSource : init datasource error, url: jdbc:mysql://localhost:3306/xxl-sso

java.sql.SQLException: Access denied for user 'ENC(ZAFECnKizUXH7545HADm2Q==)'@'localhost' (using password: YES) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:871) at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1714) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1224) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2190) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2221) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2016) at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:776) at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45009) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45012) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330) at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:156) at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:786) at com.alibaba.druid.filter.FilterEventAdapter.connection_connect(FilterEventAdapter.java:38) at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:150) at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:786) at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:150) at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:218) at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:150) at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1560) at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1623) at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:861) at yto.freemarker.springbootsimple.config.dynamicdatasource.DynamicDataSourceRegister.buildDataSource(DynamicDataSourceRegister.java:169) at yto.freemarker.springbootsimple.config.dynamicdatasource.DynamicDataSourceRegister.initDefaultDataSource(DynamicDataSourceRegister.java:254) at yto.freemarker.springbootsimple.config.dynamicdatasource.DynamicDataSourceRegister.setEnvironment(DynamicDataSourceRegister.java:199) at org.springframework.context.annotation.ParserStrategyUtils.invokeAwareMethods(ParserStrategyUtils.java:59) at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:629) at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:303) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:245) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:202) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:170) at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:316) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:233) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:273) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:694) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532) at org.springframework.context.support.AbstractApplicationContext.jrLockAndRefresh(AbstractApplicationContext.java:40002) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:41008) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) at yto.freemarker.springbootsimple.SpringbootSimpleApplication.main(SpringbootSimpleApplication.java:27)

2018-07-20 14:25:45.999 ERROR 44896 --- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} init error

ulisesbocchio commented 6 years ago

You're getting: java.sql.SQLException: Access denied for user 'ENC(ZAFECnKizUXH7545HADm2Q==)'@'localhost' which means your encrypted password is not getting decrypted. I wonder how you're configuring your Spring boot app... There are plenty of examples here: https://github.com/ulisesbocchio/jasypt-spring-boot-samples

Ziemowit commented 6 years ago

Hi @bydongxing. It works well for me with spring-boot 2.0.1.RELEASE.

So probably it is the issue in your configuration :)

ulisesbocchio commented 5 years ago

yes, seems like a config issue, thanks @Ziemowit for helping out. Check out newly added sample with DB tests: https://github.com/ulisesbocchio/jasypt-spring-boot-samples/tree/master/jasypt-spring-boot-demo-db-h2