[
https://issues.apache.org/jira/browse/JCR-4768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17499422#comment-17499422
]
Carlos Cantalapiedra commented on JCR-4768:
-------------------------------------------
Hi Julian,
My jackrabbit configuration file has the following configuration within the
{{Datasource}} tag:
{code:java|title=jackrabbit-bundle-mysql-search.xml}
<DataSources>
<DataSource name="magnolia">
<param name="driver" value="com.mysql.cj.jdbc.Driver" />
<param name="url"
value="jdbc:mysql://localhost:3306/encTest?nullDatabaseMeansCurrent=true" />
<param name="user" value="root" />
<param name="password" value="{base64}dGVzdA==" />
<param name="databaseType" value="mysql"/>
<param name="validationQuery" value="select 1"/>
</DataSource>
</DataSources>
{code}
When I start my application, I'm getting the following error:
{quote}[...]
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using
password: YES))
at
org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
~[commons-dbcp-1.4.jar:1.4]
at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
~[commons-dbcp-1.4.jar:1.4]
at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
~[commons-dbcp-1.4.jar:1.4]
at
org.apache.jackrabbit.core.util.db.ConnectionHelper.getExtraNameCharacters(ConnectionHelper.java:185)
~[jackrabbit-data-2.20.3.jar:2.20.3]
at
org.apache.jackrabbit.core.util.db.ConnectionHelper.prepareDbIdentifier(ConnectionHelper.java:140)
~[jackrabbit-data-2.20.3.jar:2.20.3]
at
org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:542)
~[jackrabbit-core-2.20.3.jar:2.20.3]
at
org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager.init(MySqlPersistenceManager.java:51)
~[jackrabbit-core-2.20.3.jar:2.20.3]
at
org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1376)
~[jackrabbit-core-2.20.3.jar:2.20.3]
... 64 more
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost'
(using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
~[mysql-connector-java-8.0.25.jar:8.0.25]
at
com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
~[mysql-connector-java-8.0.25.jar:8.0.25]
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:833)
~[mysql-connector-java-8.0.25.jar:8.0.25]
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:453)
~[mysql-connector-java-8.0.25.jar:8.0.25]
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
~[mysql-connector-java-8.0.25.jar:8.0.25]
at
com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
~[mysql-connector-java-8.0.25.jar:8.0.25]
at
org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
~[commons-dbcp-1.4.jar:1.4]
at
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
~[commons-dbcp-1.4.jar:1.4]
at
org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
~[commons-dbcp-1.4.jar:1.4]
at
org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
~[commons-dbcp-1.4.jar:1.4]
at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
~[commons-dbcp-1.4.jar:1.4]
at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
~[commons-dbcp-1.4.jar:1.4]
at
org.apache.jackrabbit.core.util.db.ConnectionHelper.getExtraNameCharacters(ConnectionHelper.java:185)
~[jackrabbit-data-2.20.3.jar:2.20.3]
at
org.apache.jackrabbit.core.util.db.ConnectionHelper.prepareDbIdentifier(ConnectionHelper.java:140)
~[jackrabbit-data-2.20.3.jar:2.20.3]
at
org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:542)
~[jackrabbit-core-2.20.3.jar:2.20.3]
[...]
{quote}
If I start my application without using the Base64 encoding, which would be:
{code:java|title=jackrabbit-bundle-mysql-search.xml}
<DataSources>
<DataSource name="magnolia">
<param name="driver" value="com.mysql.cj.jdbc.Driver" />
<param name="url"
value="jdbc:mysql://localhost:3306/encTest?nullDatabaseMeansCurrent=true" />
<param name="user" value="root" />
<param name="password" value="test" />
<param name="databaseType" value="mysql"/>
<param name="validationQuery" value="select 1"/>
</DataSource>
</DataSources>
{code}
Then my app starts correctly.
Kind regards,
Carlos
> Password encoding database
> --------------------------
>
> Key: JCR-4768
> URL: https://issues.apache.org/jira/browse/JCR-4768
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Affects Versions: 2.20.1
> Reporter: Carlos Cantalapiedra
> Assignee: Julian Reschke
> Priority: Major
>
> The password (base64) encode is not working on version 2.20.1 (we have
> followed the jackrabit documentation to encode the password in base64 as
> explained here
> [https://jackrabbit.apache.org/jcr/jackrabbit-configuration.html])
> We have another project which uses Jackrabbit version 2.18 and it is working
> properly.
> Best regards.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)