2007-09-14 05:12:21 +02:00
|
|
|
<?php
|
|
|
|
|
2007-09-14 21:10:18 +02:00
|
|
|
/**
|
|
|
|
* Authenticator base class
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
2007-09-14 05:12:21 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Abstract base class for an authentication method
|
|
|
|
*
|
|
|
|
* This class is used as a base class for the different authentication
|
|
|
|
* methods like {@link MemberAuthenticator} or {@link OpenIDAuthenticator}.
|
|
|
|
*
|
|
|
|
* @author Markus Lanthaler <markus@silverstripe.com>
|
2007-09-14 21:10:18 +02:00
|
|
|
*
|
|
|
|
* @todo Wouldn't be an interface be the better choice?
|
2007-09-14 05:12:21 +02:00
|
|
|
*/
|
|
|
|
abstract class Authenticator extends Object
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Method to authenticate an user
|
|
|
|
*
|
|
|
|
* @param array $RAW_data Raw data to authenticate the user
|
2007-09-14 21:10:18 +02:00
|
|
|
* @param Form $form Optional: If passed, better error messages can be
|
|
|
|
* produced by using
|
|
|
|
* {@link Form::sessionMessage()}
|
2007-09-14 05:12:21 +02:00
|
|
|
* @return bool|Member Returns FALSE if authentication fails, otherwise
|
|
|
|
* the member object
|
|
|
|
*/
|
2007-09-14 21:10:18 +02:00
|
|
|
public abstract function authenticate(array $RAW_data, Form $form = null);
|
2007-09-14 05:12:21 +02:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Method that creates the login form for this authentication method
|
|
|
|
*
|
2007-09-14 21:10:18 +02:00
|
|
|
* @param Controller The parent controller, necessary to create the
|
|
|
|
* appropriate form action tag
|
2007-09-14 05:12:21 +02:00
|
|
|
* @return Form Returns the login form to use with this authentication
|
|
|
|
* method
|
|
|
|
*/
|
2007-09-14 21:10:18 +02:00
|
|
|
public abstract static function getLoginForm(Controller $controller);
|
2007-09-14 21:13:12 +02:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the name of the authentication method
|
|
|
|
*
|
|
|
|
* @return string Returns the name of the authentication method.
|
|
|
|
*/
|
|
|
|
public abstract static function getName();
|
2007-09-14 05:12:21 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
?>
|