Class JdbcSecurityRealmBuilder

java.lang.Object
org.wildfly.security.auth.realm.jdbc.JdbcSecurityRealmBuilder
Direct Known Subclasses:
QueryBuilder

public class JdbcSecurityRealmBuilder extends Object
A builder class to that creates JdbcSecurityRealm instances.
Author:
Pedro Igor
  • Method Details

    • build

      public JdbcSecurityRealm build()
      Builds a new JdbcSecurityRealm instance based on configuration defined for this JdbcSecurityRealmBuilder instance.
      Returns:
      the built realm
    • setProviders

      public JdbcSecurityRealmBuilder setProviders(Supplier<Provider[]> providers)
      Set the providers to be used by the realm.
      Parameters:
      providers - the providers to be used by the realm.
      Returns:
      this builder.
    • setHashCharset

      public JdbcSecurityRealmBuilder setHashCharset(Charset hashCharset)
      Set the character set to use when converting the password string to a byte array. Uses UTF-8 by default.
      Parameters:
      hashCharset - the name of the character set (must not be null)
      Returns:
      this builder
    • principalQuery

      public QueryBuilder principalQuery(String sql)

      A SQL SELECT statement that will be used to return data from a database based on the principal's name.

      When authenticating, validating or obtaining credentials for a RealmIdentity, this query will be used. You must provide a SELECT with a single query parameter as follows:

           JdbcSecurityRealm securityRealm = JdbcSecurityRealm.builder().principalQuery("SELECT password FROM user_bcrypt_password where name = ?")
       

      Where the query parameter value would be the principal's name.

      Parameters:
      sql - the authentication query
      Returns:
      this builder