|
Openfire 3.4.1 Javadoc | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jivesoftware.openfire.auth.JDBCAuthProvider
public class JDBCAuthProvider
The JDBC auth provider allows you to authenticate users against any database
that you can connect to with JDBC. It can be used along with the
hybrid
auth provider, so that you can also have
XMPP-only users that won't pollute your external data.
To enable this provider, set the following in the XML configuration file:
<provider> <auth> <className>org.jivesoftware.openfire.auth.JDBCAuthProvider</className> </auth> </provider>You'll also need to set your JDBC driver, connection string, and SQL statements:
<jdbcProvider> <driver>com.mysql.jdbc.Driver</driver> <connectionString>jdbc:mysql://localhost/dbname?user=username&password=secret</connectionString> </jdbcProvider> <jdbcAuthProvider> <passwordSQL>SELECT password FROM user_account WHERE username=?</passwordSQL> <passwordType>plain</passwordType> </jdbcAuthProvider>The passwordType setting tells Openfire how the password is stored. Setting the value is optional (when not set, it defaults to "plain"). The valid values are:
Nested Class Summary | |
---|---|
static class |
JDBCAuthProvider.PasswordType
Indicates how the password is stored. |
Constructor Summary | |
---|---|
JDBCAuthProvider()
Constructs a new JDBC authentication provider. |
Method Summary | |
---|---|
void |
authenticate(String username,
String password)
Returns if the username and password are valid; otherwise this method throws an UnauthorizedException. |
void |
authenticate(String username,
String token,
String digest)
Returns if the username, token, and digest are valid; otherwise this method throws an UnauthorizedException. |
String |
getPassword(String username)
Returns the user's password. |
boolean |
isDigestSupported()
Returns true if this AuthProvider supports digest authentication according to JEP-0078. |
boolean |
isPlainSupported()
Returns true if this AuthProvider supports authentication using plain-text passwords according to JEP--0078. |
void |
setPassword(String username,
String password)
Sets the users's password. |
boolean |
supportsPasswordRetrieval()
Returns true if this UserProvider is able to retrieve user passwords from the backend user store. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JDBCAuthProvider()
Method Detail |
---|
public void authenticate(String username, String password) throws UnauthorizedException
AuthProvider
If AuthProvider.isPlainSupported()
returns false, this method should
throw an UnsupportedOperationException.
authenticate
in interface AuthProvider
username
- the username or full JID.password
- the passwordl
UnauthorizedException
- if the username and password do
not match any existing user.public void authenticate(String username, String token, String digest) throws UnauthorizedException
AuthProvider
If AuthProvider.isDigestSupported()
returns false, this method should
throw an UnsupportedOperationException.
authenticate
in interface AuthProvider
username
- the username or full JID.token
- the token that was used with plain-text password to
generate the digest.digest
- the digest generated from plain-text password and unique token.
UnauthorizedException
- if the username and password
do not match any existing user.public boolean isPlainSupported()
AuthProvider
isPlainSupported
in interface AuthProvider
public boolean isDigestSupported()
AuthProvider
isDigestSupported
in interface AuthProvider
public String getPassword(String username) throws UserNotFoundException, UnsupportedOperationException
AuthProvider
getPassword
in interface AuthProvider
username
- the username of the user.
UserNotFoundException
- if the given user's password could not be loaded.
UnsupportedOperationException
- if the provider does not
support the operation (this is an optional operation).public void setPassword(String username, String password) throws UserNotFoundException, UnsupportedOperationException
AuthProvider
setPassword
in interface AuthProvider
username
- the username of the user.password
- the new plaintext password for the user.
UserNotFoundException
- if the given user could not be loaded.
UnsupportedOperationException
- if the provider does not
support the operation (this is an optional operation).public boolean supportsPasswordRetrieval()
AuthProvider
AuthProvider.getPassword(String)
will throw an UnsupportedOperationException
if invoked.
supportsPasswordRetrieval
in interface AuthProvider
|
Openfire 3.4.1 Javadoc | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |