首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自另一个数据库的Xmpp用户登录身份验证

来自另一个数据库的Xmpp用户登录身份验证
EN

Stack Overflow用户
提问于 2015-02-18 12:34:14
回答 2查看 1.7K关注 0票数 0

我是XMPP中的新手,最近我通过定义IP (localhost)、端口(5222)和名为: openfire in MySql的新数据库来安装和配置openfire管理控件。

但是我的用户名及其密码在另一个数据库中,在openfire中是否有任何步骤可以配置,以便它可以检查我自己创建的数据库中的用户身份验证,而不是检查它自己创建的用户表 of

我在这里加标签,

代码语言:javascript
复制
<?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>
EN

回答 2

Stack Overflow用户

发布于 2015-02-19 09:51:35

票数 0
EN

Stack Overflow用户

发布于 2016-02-29 13:04:24

首先,编辑openfire.xml不会给您的入门带来任何预期的变化。即使在你重启它之后。

您应该从服务器->系统属性编辑该配置。也可以直接修改属性值中的数据库。

但要小心..。如果使用我自己的用户表,我的JDBC身份验证似乎都不起作用。即使我把它设置成普通密码。它们的MD5看起来与standart md5散列方法不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28583811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档