Class JDBCAdminProvider

  • All Implemented Interfaces:

    public class JDBCAdminProvider
    extends Object
    implements AdminProvider
    The JDBC admin provider allows you to use an external database to define the administrators users. It is best used with the JDBCAuthProvider & JDBCGroupProvider to provide integration between your external system and Openfire. All data is treated as read-only so any set operations will result in an exception.

    To enable this provider, set the following in the system properties:

    • provider.admin.className = org.jivesoftware.openfire.admin.JDBCAdminProvider
    Then you need to set your driver, connection string and SQL statements:
    • jdbcProvider.driver = com.mysql.jdbc.Driver
    • jdbcProvider.connectionString = jdbc:mysql://localhost/dbname?user=username&password=secret
    • jdbcAdminProvider.getAdminsSQL = SELECT user FROM myAdmins

    If you want to be able to update the admin users via the UI, add the following properties:

    • jdbcAdminProvider.insertAdminsSQL = INSERT INTO myAdmins (user) VALUES (?)
    • jdbcAdminProvider.deleteAdminsSQL = DELETE FROM myAdmins WHERE user = ?

    In order to use the configured JDBC connection provider do not use a JDBC connection string, set the following property

    • jdbcAdminProvider.useConnectionProvider = true
    Robert Marcano
    • Constructor Detail

      • JDBCAdminProvider

        public JDBCAdminProvider()
        Constructs a new JDBC admin provider.
    • Method Detail

      • getAdmins

        public List<org.xmpp.packet.JID> getAdmins()
        Description copied from interface: AdminProvider
        Returns a list of JIDs of accounts with administrative privileges.
        Specified by:
        getAdmins in interface AdminProvider
        The list of admin users.
      • setAdmins

        public void setAdmins​(List<org.xmpp.packet.JID> newAdmins)
        Description copied from interface: AdminProvider
        Sets the list of admin accounts, by JID.
        Specified by:
        setAdmins in interface AdminProvider
        newAdmins - List of JIDs of accounts to grant admin access to.
      • isReadOnly

        public boolean isReadOnly()
        Description copied from interface: AdminProvider
        Indicates whether the admin list is read-only or not. In other words, whether an admin can change who is an admin from the Openfire admin interface.
        Specified by:
        isReadOnly in interface AdminProvider
        True or false if the admin list can be edited.