Skip to content
Snippets Groups Projects
login.php 1.6 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jared Hancock's avatar
    Jared Hancock committed
    <?php
    /*********************************************************************
        login.php
    
        Handles staff authentication/logins
    
        Peter Rotich <peter@osticket.com>
    
        Copyright (c)  2006-2013 osTicket
    
    Jared Hancock's avatar
    Jared Hancock committed
        http://www.osticket.com
    
        Released under the GNU General Public License WITHOUT ANY WARRANTY.
        See LICENSE.TXT for details.
    
        vim: expandtab sw=4 ts=4 sts=4:
    **********************************************************************/
    require_once('../main.inc.php');
    if(!defined('INCLUDE_DIR')) die('Fatal Error. Kwaheri!');
    
    require_once(INCLUDE_DIR.'class.staff.php');
    
    require_once(INCLUDE_DIR.'class.csrf.php');
    
    $dest = $_SESSION['_staff']['auth']['dest'];
    $msg = $_SESSION['_staff']['auth']['msg'];
    $msg = $msg?$msg:'Authentication Required';
    
    $dest=($dest && (!strstr($dest,'login.php') && !strstr($dest,'ajax.php')))?$dest:'index.php';
    
    Jared Hancock's avatar
    Jared Hancock committed
        // Lookup support backends for this staff
        $username = trim($_POST['userid']);
    
        if ($user = StaffAuthenticationBackend::process($username,
    
                $_POST['passwd'], $errors)) {
    
    Jared Hancock's avatar
    Jared Hancock committed
            @header("Location: $dest");
            require_once('index.php'); //Just incase header is messed up.
            exit;
        }
    
    
        $msg = $errors['err']?$errors['err']:'Invalid login';
    
    // Consider single sign-on authentication backends
    
    else if (!$thisstaff || !($thisstaff->getId() || $thisstaff->isValid())) {
    
        if (($user = StaffAuthenticationBackend::processSignOn($errors, false))
    
                && ($user instanceof StaffSession))
    
           @header("Location: $dest");
    }
    
    
    Jared Hancock's avatar
    Jared Hancock committed
    define("OSTSCPINC",TRUE); //Make includes happy!
    include_once(INCLUDE_DIR.'staff/login.tpl.php');
    ?>