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

Change admin-authentication to use the 'admin' authentication source, if present.

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@1470 44740490-163a-0410-bde0-09ae8108e29a
parent 45c7c7de
No related branches found
No related tags found
No related merge requests found
......@@ -2,6 +2,17 @@
$config = array(
/*
* This is a authentication source which handles admin authentication.
*/
'admin' => array(
/*
* The default is to use core:AdminPassword, but it can be replaced with
* any authentication source.
*/
'core:AdminPassword',
),
'example-sql' => array(
'sqlauth:SQL',
'dsn' => 'pgsql:host=sql.example.org;port=5432;dbname=simplesaml',
......
......@@ -1688,7 +1688,7 @@ class SimpleSAML_Utilities {
$session = SimpleSAML_Session::getInstance();
return $session->isValid('login-admin');
return $session->isValid('admin') || $session->isValid('login-admin');
}
......@@ -1721,11 +1721,20 @@ class SimpleSAML_Utilities {
return;
}
$returnTo = SimpleSAML_Utilities::selfURL();
/* Not authenticated as admin user. Start authentication. */
$config = SimpleSAML_Configuration::getInstance();
SimpleSAML_Utilities::redirect('/' . $config->getBaseURL() . 'auth/login-admin.php',
array('RelayState' => SimpleSAML_Utilities::selfURL())
);
if (SimpleSAML_Auth_Source::getById('admin') !== NULL) {
SimpleSAML_Auth_Default::initLogin('admin', $returnTo);
} else {
/* For backwards-compatibility. */
$config = SimpleSAML_Configuration::getInstance();
SimpleSAML_Utilities::redirect('/' . $config->getBaseURL() . 'auth/login-admin.php',
array('RelayState' => $returnTo)
);
}
}
}
......
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