You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Carlos Cantalapiedra (Jira)" <ji...@apache.org> on 2022/03/01 09:56:00 UTC

[jira] [Commented] (JCR-4768) Password encoding database

    [ 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)