Wombat::Realm::RealmBase - internal realm base clas

- NAME
- SYNOPSIS
- DESCRIPTION
- CONSTRUCTOR
- ACCESSOR METHODS
- PUBLIC METHODS
- PACKAGE METHODS
- LIFECYCLE METHODS
- SEE ALSO
- AUTHOR

# NAME

Wombat::Realm::RealmBase - internal realm base clas

# SYNOPSIS

# DESCRIPTION

Convenience base implementation of Wombat::Realm. Subclasses should implement `getName()`, `getPassword()`, and `getPrincipal()`.

# CONSTRUCTOR

`new()`
  Construct and return a Wombat::Realm::RealmBase instance, initializing fields appropriately. If subclasses override the constructor, they must be sure to call

        $self->SUPER::new();

# ACCESSOR METHODS

`getAlgorithm()`
  Return the digest algorithm used for authenticating credentials. If no algorithm is specified, credentials will be used as submitted.

`setAlgorithm($algorithm)`
  Set the digest algorithm used for authenticating credentials. Supported algorithms include: MD5, SHA1, HMAC, MD2, and anything else provided by the Digest library.

  Parameters:

  $algorithm
    the digest algorithm

`getContainer()`
  Return the Container associated with this Realm.

`setContainer($container)`
  Set the Container associated with this Realm.

  Parameters:

  $container
    the Wombat::Container associated with this Realm

# PUBLIC METHODS

authenticate ($username, $credentials)
  Return the Principal associated with the specified username and credentials, if there is one, or `undef` otherwise.

  Parameters

  $username
    username of the principal to be looked up

  $credentials
    password or other credentials to use in authenticating this username

hasRole($principal, $role)
  Return true if the specified Principal has the specified security role within the context of this Realm, or false otherwise.

  Parameters:

  $principal
    the Wombat::Realm::Genericrincipal for whom the role is to be checked

  $role
    the name of the security role to be checked

# PACKAGE METHODS

`digest()`
  Digest a submitted password using the configured algorithm and convert the result to a corresponding hexadecimal string. If an exception is thrown, the plain credentials string is returned.

  Parameters:

  $credentials
    the password or other credentials to use in authentication

`getName()`
  Return a short name for this Realm implementation. Must be overridden by subclasses.

`getPassword($username)`
  Return the password associated with the given Principal's user name. Should be overridden by subclasses.

  Parameters:

  $username
    the username of the Principal

`getPrincipal($username)`
  Return the Principal associated with the given user name. Should be overridden by subclasses.

  Parameters:

  $username
    the username of the Principal

# LIFECYCLE METHODS

`start()`
  Prepare for active use of this Realm. This method should be called before any of the public methods of the Realm are utilized.

  Throws:

  Wombat::LifecycleException
    if the Realm has already been started

`stop()`
  Gracefully terminate active use of this Realm. Once this method has been called, no public methods of the Realm should be utilized.

  Throws:

  Wombat::LifecycleException
    if the Realm is not started

# SEE ALSO

Digest, the Wombat::Container manpage, the Wombat::Exception manpage, the Wombat::Realm manpage, the Wombat::Realm::GenericPrincipal manpage

# AUTHOR

Brian Moseley, bcm@maz.org