0

当社は xmpp チャット アプリに openfire を使用する必要があり、openfire の一部である ofUser テーブルではなく、既存のユーザー テーブルを認証に使用したいと考えています。サーバーに openfire をインストールし、mysql データベースを使用するように構成し、必要なテーブルを作成しました。ここにあるカスタムデータベース統合ガイドに従おうとしています

しかし、私はそれを機能させることができません。私の構成ファイルは以下のとおりです (テーブル名が少し​​変更されています)。

<jdbcProvider>
<driver>com.mysql.jdbc.Driver</driver>
<connectionString>jdbc:mysql://localhost/fueledin_winkage?user=fueledin_winkage&amp;password=845Fulton</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 password FROM users WHERE email=?</passwordSQL>
    <passwordType>md5</passwordType>
</jdbcAuthProvider>
<jdbcUserProvider>
    <loadUserSQL>SELECT email,email FROM users WHERE email=?</loadUserSQL>
    <userCountSQL>SELECT COUNT(*) FROM users</userCountSQL>
    <allUsersSQL>SELECT email FROM users</allUsersSQL>
    <searchSQL>SELECT email FROM users WHERE</searchSQL>
    <usernameField>email</usernameField>
    <nameField>email</nameField>
    <emailField>email</emailField>
</jdbcUserProvider>
<setup>true</setup>

ユーザーはいつでもユーザー名を変更できるため、ログインに電子メールが使用されるため、これは一種の奇妙な設定です。誰かが私が間違っている可能性があることを説明できますか? ユーザーテーブルにユーザーを指定してサーバーにログインしようとしましたが、うまくいきませんでした。また、ブラウザでセットアップ ウィザードを実行した後、構成スクリプトを編集して上記のようにしましたが、ブラウザ ツールに移動するたびに、セットアップ ウィザードを再度実行するように求められます。その後。事前に感謝します。

4

1 に答える 1

3

openfire の管理インターフェイスでパラメータを設定する必要があります。これはあなたのために仕事をします。

データベースでこれを行いたい場合は、テーブルofPropertyです;)

編集:

このような:

すべての XML ノードを、システム プロパティ (サーバー マネージャー内) のプロパティ名として node.subnode のようなものに変更します。

例えば:

<provider>
  <auth>
    <className>org.jivesoftware.openfire.auth.JDBCAuthProvider</className>
  </auth>
  <user>
    <className>org.jivesoftware.openfire.user.JDBCUserProvider</className>
  </user>
</provider>

になります

provider.auth.className
provider.user.className

プロパティ値は同じです。たとえば、provider.auth.classNameis の値と is のorg.jivesoftware.openfire.auth.JDBCAuthProviderprovider.user.classNameorg.jivesoftware.openfire.user.JDBCUserProvider

于 2012-11-17T13:41:04.467 に答える