簡體   English   中英

Openfire自定義數據庫登錄

[英]Openfire Custom Database Login

我正在嘗試將Openfire與使用Mysql工作台創建的自定義sql數據庫連接。

我修改了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.01.28 11:31:20 org.jivesoftware.admin.LoginLimitManager-用戶從127.0.0.1開始的管理控制台登錄嘗試失敗

我的數據庫表中的用戶有以下幾列:用戶名,plainPassword,加密的密碼,名稱,電子郵件,creationDate

謝謝.. :)

解決的問題^ _ ^ ..我需要在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表的屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM