File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 22
33$ config = array (
44
5+ /*
6+ * This is a authentication source which handles admin authentication.
7+ */
8+ 'admin ' => array (
9+ /*
10+ * The default is to use core:AdminPassword, but it can be replaced with
11+ * any authentication source.
12+ */
13+ 'core:AdminPassword ' ,
14+ ),
15+
516 'example-sql ' => array (
617 'sqlauth:SQL ' ,
718 'dsn ' => 'pgsql:host=sql.example.org;port=5432;dbname=simplesaml ' ,
Original file line number Diff line number Diff line change @@ -1688,7 +1688,7 @@ public static function isAdmin() {
16881688
16891689 $ session = SimpleSAML_Session::getInstance ();
16901690
1691- return $ session ->isValid ('login-admin ' );
1691+ return $ session ->isValid ('admin ' ) || $ session -> isValid ( ' login-admin ' );
16921692 }
16931693
16941694
@@ -1721,11 +1721,20 @@ public static function requireAdmin() {
17211721 return ;
17221722 }
17231723
1724+ $ returnTo = SimpleSAML_Utilities::selfURL ();
1725+
17241726 /* Not authenticated as admin user. Start authentication. */
1725- $ config = SimpleSAML_Configuration::getInstance ();
1726- SimpleSAML_Utilities::redirect ('/ ' . $ config ->getBaseURL () . 'auth/login-admin.php ' ,
1727- array ('RelayState ' => SimpleSAML_Utilities::selfURL ())
1728- );
1727+
1728+ if (SimpleSAML_Auth_Source::getById ('admin ' ) !== NULL ) {
1729+ SimpleSAML_Auth_Default::initLogin ('admin ' , $ returnTo );
1730+ } else {
1731+ /* For backwards-compatibility. */
1732+
1733+ $ config = SimpleSAML_Configuration::getInstance ();
1734+ SimpleSAML_Utilities::redirect ('/ ' . $ config ->getBaseURL () . 'auth/login-admin.php ' ,
1735+ array ('RelayState ' => $ returnTo )
1736+ );
1737+ }
17291738 }
17301739
17311740}
You can’t perform that action at this time.
0 commit comments