Quantcast
Channel: Ignite Realtime : Unanswered Discussions - Support
Viewing all articles
Browse latest Browse all 4979

OpenFire Integration with Mysql database

$
0
0

This is my Openfire.xml

 

<?xml version="1.0" encoding="UTF-8"?>

 

 

<!--

    This file stores bootstrap properties needed by Openfire.

    Property names must be in the format: "prop.name.is.blah=value"

    That will be stored as:

        <prop>

            <name>

                <is>

                    <blah>value</blah>

                </is>

            </name>

        </prop>

 

 

    Most properties are stored in the Openfire database. A

    property viewer and editor is included in the admin console.

-->

<!-- root element, all properties must be under this element -->

<jive>

  <adminConsole>

    <!-- Disable either port by setting the value to -1 --> 

    <port>9090</port> 

    <securePort>9091</securePort>

  </adminConsole> 

  <locale>en</locale> 

   <admin>

        <authorizedUsernames>super</authorizedUsernames>

   </admin>

  <!-- Network settings. By default, Openfire will bind to all network interfaces.

      Alternatively, you can specify a specific network interfaces that the server

      will listen on. For example, 127.0.0.1. This setting is generally only useful

       on multi-homed servers. --> 

  <!--

    <network>

        <interface></interface>

    </network>

    --> 

  <!-- SPDY  Protocol is npn.

    (note: npn does not work with Java 8)

    add -Xbootclasspath/p:/OPENFIRE_HOME/lib/npn-boot.jar to .vmoptions file    --> 

  <!--    

    <spdy>

    <protocol>npn</protocol>

    </spdy>

    --> 

  <connectionProvider>

    <className>org.jivesoftware.database.DefaultConnectionProvider</className>

  </connectionProvider> 

  <database>

    <defaultProvider>

      <driver>com.mysql.jdbc.Driver</driver> 

      <serverURL>jdbc:mysql://localhost:3306/samkit?rewriteBatchedStatements=true</se rverURL> 

      <username encrypted="true">d8300c2ab590632295caaf97f214bf33535b3d158e270fef</username> 

      <password encrypted="true">24aa3ac201756b9912ca972fee52c1757e67392b5077a917c5a055b217c36a 27</password> 

      <testSQL>select 1</testSQL> 

      <testBeforeUse>false</testBeforeUse> 

      <testAfterUse>false</testAfterUse> 

      <minConnections>5</minConnections> 

      <maxConnections>25</maxConnections> 

      <connectionTimeout>1.0</connectionTimeout>

    </defaultProvider>

  </database> 

  <setup>true</setup> 

<jdbcProvider>

    <driver>com.mysql.jdbc.Driver</driver> 

    <connectionString>jdbc:mysql://localhost/openfire_db?user=root&amp;password=hel lo</connectionString>

  </jdbcProvider> 

  <provider>

  <auth>

   <className>org.jivesoftware.openfire.auth.JDBCAuthProvider</className>

  </auth>

  <user>

   <className>org.jivesoftware.openfire.user.JDBCUserProvider</className>

  </user>

  <group>

   <className>org.jivesoftware.openfire.group.JDBCGroupProvider</className>

  </group>

  </provider>

  <jdbcAuthProvider>

     <passwordSQL>SELECT password FROM users WHERE username=?</passwordSQL> 

     <passwordType>plain</passwordType>

  </jdbcAuthProvider> 

  <jdbcUserProvider>

    <loadUserSQL>SELECT name,email FROM user WHERE username=?</loadUserSQL> 

    <userCountSQL>SELECT COUNT(*) FROM user</userCountSQL> 

    <allUsersSQL>SELECT username FROM user</allUsersSQL> 

    <searchSQL>SELECT username FROM user WHERE</searchSQL> 

    <usernameField>username</usernameField> 

    <nameField>name</nameField> 

    <emailField>email</emailField>

  </jdbcUserProvider>

</jive>

 

 

This is mysql side ofProperty table queries:

 

UPDATE `samkit`. `OfProperty` SET propValue = 'org.jivesoftware.openfire.user.JDBCUserProvider' WHERE name = 'provider.user.className';

UPDATE `samkit`. `OfProperty` SET propValue = 'org.jivesoftware.openfire.auth.JDBCAuthProvider' WHERE name = 'provider.auth.className';

INSERT INTO `samkit`. `OfProperty` VALUES ('jdbcProvider.driver', 'com.mysql.jdbc.Driver'),

('JdbcProvider.connectionString', 'jdbc:mysql://localhost:3306/samkit?User=root&password=password'),

('Admin.authorizedJIDs', 'admin @ localhost, test @ localhost'),

('JdbcAuthProvider.passwordSQL', 'SELECT password FROM user WHERE username =?'),

('JdbcAuthProvider.passwordType', 'plain'),

('JdbcUserProvider.loadUserSQL', 'SELECT username, email FROM user WHERE username =?'),

('JdbcUserProvider.userCountSQL', 'SELECT COUNT (*) FROM user'),

('JdbcUserProvider.allUsersSQL', 'SELECT username FROM user'),

('JdbcUserProvider.searchSQL', 'SELECT username FROM user WHERE'),

('JdbcUserProvider.usernameField', 'username'),

('JdbcUserProvider.nameField', 'username'),

('JdbcUserProvider.emailField', 'email');

 

insert into user values(1,'super','super','super@kloudscript.net','Password@1234');

 

 

I tried to connect with user super, and got error like :

frontend side: Login failed: make sure your username and password are correct and that you're an admin or moderator.

Error.log: 

2015.07.08 17:02:16 org.jivesoftware.openfire.auth.JDBCAuthProvider - Exception in JDBCAuthProvider

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

 

 

One more issue is with openfire.xml is that, all the changes are reverted back to default when restart the server....


Viewing all articles
Browse latest Browse all 4979

Trending Articles