2015-02-18 3 views
0

Я новичок в XMPP, недавно я установил и настроил администратор управления openfire, указав IP (localhost), порт (5222) и новую базу данных с именем: openfire в MySql.Идентификатор входа в систему Xmpp из другой базы данных

Но мои имена пользователей и их пароли в другой базе данных, есть какие-либо шаги, чтобы настроить в Openfire таким образом, что он может проверить идентификацию пользователя в моих созданной базе данных вместо того, чтобы проверить это (Openfire) собственные созданные usertable ofuser.

i'am Добавление TAGS здесь,

<?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>9099</port> 
    <securePort>9091</securePort> 
    </adminConsole> 
    <locale>en</locale> 
    <!-- 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> 
    --> 
    <connectionProvider> 
    <className>org.jivesoftware.database.DefaultConnectionProvider</className> 
    </connectionProvider> 
    <database> 
    <defaultProvider> 
     <driver>com.mysql.jdbc.Driver</driver> 
     <serverURL>jdbc:mysql://localhost:3306/openfire?rewriteBatchedStatements=true</serverURL> 
     <username encrypted="true">87d776abae54f5b4c95c78b78420a6967a9429e9e6d7a5c0</username> 
     <password encrypted="true">7a1603cafdfe1383ea0e284360172ca8c94b37314dbd5390</password> 
     <testSQL>select 1</testSQL> 
     <testBeforeUse>false</testBeforeUse> 
     <testAfterUse>false</testAfterUse> 
     <minConnections>5</minConnections> 
     <maxConnections>25</maxConnections> 
     <connectionTimeout>1.0</connectionTimeout> 
    </defaultProvider> 
    </database> 
    <jdbcProvider> 
    <driver>com.mysql.jdbc.Driver</driver> 
    <connectionString>jdbc:mysql://localhost:3306/mydb?user=root;password=root</connectionString> 
    </jdbcProvider> 
    <provider> 
    <auth> 
     <className>org.jivesoftware.openfire.auth.JDBCAuthProvider</className> 
    </auth> 
    <user> 
     <className>org.jivesoftware.openfire.user.JDBCUserProvider</className> 
    </user> 
    </provider> 
    <jdbcAuthProvider> 
    <passwordSQL>SELECT upwd FROM users WHERE uname=? and usertype=2 and delflag=0</passwordSQL> 
    <passwordType>md5</passwordType> 
    </jdbcAuthProvider> 
    <jdbcUserProvider> 
    <loadUserSQL>SELECT CONCAT(ufname,ulname) AS name,uemail as email FROM users WHERE uname=? AND usertype=2 AND delflag=0</loadUserSQL> 
    <userCountSQL>SELECT COUNT(*) FROM users WHERE usertype=2 AND delflag=0 AND inactive=0</userCountSQL> 
    <allUsersSQL>SELECT uname FROM users WHERE usertype=2 AND delflag=0 AND inactive=0</allUsersSQL> 
    <searchSQL>SELECT uname FROM users WHERE usertype=2 AND delflag=0 AND inactive=0</searchSQL> 
    <usernameField>uname</usernameField> 
    <nameField>ufname</nameField> 
    <emailField>uemail</emailField> 
    </jdbcUserProvider> 
    <setup>true</setup> 
</jive> 

ответ

0

Вот является официальным Openfire документация для точного Вашего случая:

https://www.igniterealtime.org/builds/openfire/docs/latest/documentation/db-integration-guide.html

+0

Я прошел через все шаги, используя вышеуказанный URL-адрес, я могу запустить openfire, но при этом он не показывает или не аутентифицирует других пользователей. Во время запуска нет ошибок или журналов. –

+0

Я добавил conf/openfire.xml на главную Вопрос, дайте мне знать, если что-то не так. –

0

Во-первых, редактирование openfire.xml обыкновение делать любые ожидаемые изменения с ваш открытый огонь. даже после перезапуска.

Вы должны отредактировать эту конфигурацию из SERVER -> Свойства системы. ИЛИ вы можете напрямую изменять базу данных в значениях свойств.

но будьте осторожны .. ни одна из моих аутентификаций JDBC не работает, если используется моя собственная таблица пользователей. даже если я установил его на пароль PLAIN. и их MD5 выглядит иначе, чем стандартный метод хеширования md5

Смежные вопросы