2015-01-28 1 views
0

나는 내 사용자 지정 내가 MySQL의 워크 벤치를 사용하여 만든 내 SQL 데이터베이스와의 Openfire를 연결하기 위해 노력하고있어 ..의 Openfire 사용자 정의 데이터베이스 로그인

내가 수정 openfire.xml 파일 : 나는 얻을

<jive> 
    <adminConsole> 
    <!-- Disable either port by setting the value to -1 --> 
    <port>9090</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_db?rewriteBatchedStatements=true</serverURL> 
     <username encrypted="true">c130d8786ef86071bcb73f1d8da0eb34f544f389f480f60e</username> 
     <password encrypted="true">f15df01c5d651451f5f38c29332cf655ff1621d7c0e741ec</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=hello</connectionString> 
    </jdbcProvider> 
    <provider/> 
    <jdbcAuthProvider> 
    <passwordSQL>SELECT plainPassword FROM users WHERE username=?</passwordSQL> 
    <passwordType>plain</passwordType> 
    </jdbcAuthProvider> 
    <jdbcUserProvider> 
    <loadUserSQL>SELECT name,email FROM users WHERE username=?</loadUserSQL> 
    <userCountSQL>SELECT COUNT(*) FROM users</userCountSQL> 
    <allUsersSQL>SELECT username FROM users</allUsersSQL> 
    <searchSQL>SELECT username FROM users WHERE</searchSQL> 
    <usernameField>username</usernameField> 
    <nameField>name</nameField> 
    <emailField>email</emailField> 
    </jdbcUserProvider> 
</jive> 

오류 없음, 경고 없음 .. 그러나 관리 콘솔에 로그인하려고하면 다음과 같이 표시됩니다.

로그인 실패 : 사용자 이름과 비밀번호가 올바른지 그리고 관리자인지 사회자인지 확인하십시오.

와의

은 경고 :

2015년 1월 28일 11시 31분 20초 org.jivesoftware.admin.LoginLimitManager을 - ​​127.0.0.1

I에서 사용자가 실패 관리 콘솔의 로그인 시도를 내 데이터베이스 테이블에 사용자 이름, plainPassword, encryptedPassword, 이름, 전자 메일, creationDate가있는 사용자가

감사합니다. :)

해결

답변

0

문제^_^.. I는 다음 openfire.xml에 추가 할 필요 :

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

및 ofProperty 테이블의 특성을 변경 ..

관련 문제