Skip to content
Snippets Groups Projects
Commit 45c7c7de authored by Olav Morken's avatar Olav Morken
Browse files

Add core:AdminPassword authentication source.

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@1469 44740490-163a-0410-bde0-09ae8108e29a
parent 51d0a76f
No related branches found
No related tags found
No related merge requests found
<?php
/**
* Authentication source which verifies the password against
* the 'auth.adminpassword' configuration option.
*
* @package simpleSAMLphp
* @version $Id$
*/
class sspmod_core_Auth_Source_AdminPassword extends sspmod_core_Auth_UserPassBase {
/**
* Constructor for this authentication source.
*
* @param array $info Information about this authentication source.
* @param array $config Configuration.
*/
public function __construct($info, $config) {
assert('is_array($info)');
assert('is_array($config)');
/* Call the parent constructor first, as required by the interface. */
parent::__construct($info, $config);
$this->setForcedUsername("admin");
}
/**
* Attempt to log in using the given username and password.
*
* On a successful login, this function should return the users attributes. On failure,
* it should throw an exception. If the error was caused by the user entering the wrong
* username or password, a SimpleSAML_Error_Error('WRONGUSERPASS') should be thrown.
*
* Note that both the username and the password are UTF-8 encoded.
*
* @param string $username The username the user wrote.
* @param string $password The password the user wrote.
* @return array Associative array with the users attributes.
*/
protected function login($username, $password) {
assert('is_string($username)');
assert('is_string($password)');
$config = SimpleSAML_Configuration::getInstance();
$adminPassword = $config->getString('auth.adminpassword', '123');
if ($adminPassword === '123') {
/* We require that the user changes the password. */
throw new SimpleSAML_Error_Error('NOTSET');
}
if ($username !== "admin") {
throw new SimpleSAML_Error_Error('WRONGUSERPASS');
}
if ($password !== $adminPassword) {
throw new SimpleSAML_Error_Error('WRONGUSERPASS');
}
return array('user' => array('admin'));
}
}
?>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment