From 0164d1f61a9e85cfafba69ed63b5087af89642e8 Mon Sep 17 00:00:00 2001 From: Olav Morken <olav.morken@uninett.no> Date: Fri, 22 Jan 2010 09:13:52 +0000 Subject: [PATCH] Move IdP enabled check into SimpleSAML_IdP. git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@2125 44740490-163a-0410-bde0-09ae8108e29a --- lib/SimpleSAML/IdP.php | 8 ++++++++ www/saml2/idp/SSOService.php | 5 ----- www/shib13/idp/SSOService.php | 5 ----- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/lib/SimpleSAML/IdP.php b/lib/SimpleSAML/IdP.php index 1be653d63..1800365cb 100644 --- a/lib/SimpleSAML/IdP.php +++ b/lib/SimpleSAML/IdP.php @@ -45,9 +45,17 @@ class SimpleSAML_IdP { $this->id = $id; $metadata = SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler(); + $globalConfig = SimpleSAML_Configuration::getInstance(); + if (substr($id, 0, 6) === 'saml2:') { + if (!$globalConfig->getBoolean('enable.saml20-idp', FALSE)) { + throw new SimpleSAML_Error_Exception('enable.saml20-idp disabled in config.php.'); + } $this->config = $metadata->getMetaDataConfig(substr($id, 6), 'saml20-idp-hosted'); } elseif (substr($id, 0, 6) === 'saml1:') { + if (!$globalConfig->getBoolean('enable.shib13-idp', FALSE)) { + throw new SimpleSAML_Error_Exception('enable.shib13-idp disabled in config.php.'); + } $this->config = $metadata->getMetaDataConfig(substr($id, 6), 'shib13-idp-hosted'); } else { assert(FALSE); diff --git a/www/saml2/idp/SSOService.php b/www/saml2/idp/SSOService.php index 6bdbcecb6..3d8a6969a 100644 --- a/www/saml2/idp/SSOService.php +++ b/www/saml2/idp/SSOService.php @@ -13,11 +13,6 @@ require_once('../../../www/_include.php'); SimpleSAML_Logger::info('SAML2.0 - IdP.SSOService: Accessing SAML 2.0 IdP endpoint SSOService'); -$config = SimpleSAML_Configuration::getInstance(); -if (!$config->getBoolean('enable.saml20-idp', FALSE)) { - throw new SimpleSAML_Error_Error('NOACCESS'); -} - $metadata = SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler(); $idpEntityId = $metadata->getMetaDataCurrentEntityID('saml20-idp-hosted'); $idp = SimpleSAML_IdP::getById('saml2:' . $idpEntityId); diff --git a/www/shib13/idp/SSOService.php b/www/shib13/idp/SSOService.php index 5bc310a23..fc3ec6b8c 100644 --- a/www/shib13/idp/SSOService.php +++ b/www/shib13/idp/SSOService.php @@ -13,11 +13,6 @@ require_once('../../../www/_include.php'); SimpleSAML_Logger::info('Shib1.3 - IdP.SSOService: Accessing Shibboleth 1.3 IdP endpoint SSOService'); -$config = SimpleSAML_Configuration::getInstance(); -if (!$config->getBoolean('enable.shib13-idp', FALSE)) { - throw new SimpleSAML_Error_Error('NOACCESS'); -} - $metadata = SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler(); $idpEntityId = $metadata->getMetaDataCurrentEntityID('shib13-idp-hosted'); $idp = SimpleSAML_IdP::getById('saml1:' . $idpEntityId); -- GitLab