PHP Classes

File: web/SSO/SAML/auth/login-admin.php

Recommend this page to a friend!
  Classes of william amed   Raptor 2   ???   Download  
File: web/SSO/SAML/auth/???
Role: Example script
Content typex: text/plain
Description: Example script
Class: Raptor 2
Framework that takes routes from annotations
Author: By
Last change:
Date: 9 years ago
Size: 2,678 bytes
 

Contents

Class file image Download
<?php

/**
 * WARNING:
 *
 * THIS FILE IS DEPRECATED AND WILL BE REMOVED IN FUTURE VERSIONS
 *
 * @deprecated
 */

require_once('../_include.php');

$config = SimpleSAML_Configuration::getInstance();
$metadata = SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler();
$session = SimpleSAML_Session::getSessionFromRequest();

SimpleSAML_Logger::warning('The file auth/login-admin.php is deprecated and will be removed in future versions.');

SimpleSAML_Logger::info('AUTH -admin: Accessing auth endpoint login-admin');

$error = null;
$attributes = array();
$username = null;

/* Load the RelayState argument. The RelayState argument contains the address
 * we should redirect the user to after a successful authentication.
 */
if (!array_key_exists('RelayState', $_REQUEST)) {
    throw new
SimpleSAML_Error_Error('NORELAYSTATE');
}

$relaystate = SimpleSAML_Utilities::checkURLAllowed($_REQUEST['RelayState']);

$correctpassword = $config->getString('auth.adminpassword', '123');

if (empty(
$correctpassword) or $correctpassword === '123') {
    throw new
SimpleSAML_Error_Error('NOTSET');
}


if (isset(
$_POST['password'])) {

   
/* Validate and sanitize form data. */

   
if (SimpleSAML_Utils_Crypto::pwValid($correctpassword, $_POST['password'])) {
       
$username = 'admin';
       
$password = $_POST['password'];
   
   
       
$attributes = array('user' => array('admin'));
   
       
$session->doLogin('login-admin');
       
$session->setAttributes($attributes);

       
$session->setNameID(array(
           
'value' => SimpleSAML_Utilities::generateID(),
           
'Format' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient'));
       
       
SimpleSAML_Logger::info('AUTH - admin: '. $username . ' successfully authenticated');

       
/**
         * Create a statistics log entry for every successfull login attempt.
         * Also log a specific attribute as set in the config: statistics.authlogattr
         */
       
$authlogattr = $config->getValue('statistics.authlogattr', null);
        if (
$authlogattr && array_key_exists($authlogattr, $attributes))
           
SimpleSAML_Logger::stats('AUTH-login-admin OK ' . $attributes[$authlogattr][0]);
        else
           
SimpleSAML_Logger::stats('AUTH-login-admin OK');
       
       
SimpleSAML_Utilities::redirectTrustedURL($relaystate);
        exit(
0);
    } else {
       
SimpleSAML_Logger::stats('AUTH-login-admin Failed');
       
$error = 'error_wrongpassword';
       
SimpleSAML_Logger::info($error);
    }
   
}


$t = new SimpleSAML_XHTML_Template($config, 'login.php', 'login');

$t->data['header'] = 'simpleSAMLphp: Enter username and password';
$t->data['relaystate'] = $relaystate;
$t->data['admin'] = TRUE;
$t->data['autofocus'] = 'password';
$t->data['error'] = $error;
if (isset(
$error)) {
   
$t->data['username'] = $username;
}

$t->show();