예제 #1
0
 /**
  * Failed login. => Draw login (HTTP 401)
  * @param object $a_username
  * @param object $a_auth
  * @return 
  */
 protected function failedLoginObserver($a_username, $a_auth)
 {
     // First, call parent observer and
     if (!parent::failedLoginObserver($a_username, $a_auth)) {
         $GLOBALS['ilLog']->write(__METHOD__ . ': HTTP authentication failed. Sending status 401');
         $this->drawLogin($a_username);
         return false;
     }
     return false;
 }
예제 #2
0
<?php

require_once 'config.php';
require_once 'db_login.php';
require_once 'Auth/HTTP.php';
// We use the same connection string as the pear DB functions
$AuthOptions = array('dsn' => "mysql://{$db_username}:{$db_password}@{$db_host}/{$db_database}", 'table' => "users", 'usernamecol' => "username", 'passwordcol' => "password", 'cryptType' => "md5", 'db_fields' => "*");
//echo "<br/>mysql://$db_username:$db_password@$db_host/$db_database\n<br/>";
$authenticate = new Auth_HTTP("DB", $AuthOptions);
$authenticate->setRealm('Member Area');
$authenticate->setCancelText('<h2>Access Denied</h2>');
// request authentication
$authenticate->start();
// compare username and password to stored values
if ($authenticate->getAuth()) {
    if (!isset($_SESSION)) {
        session_start();
    }
    $smarty->assign('blog_title', $blog_title);
    $smarty->display('header.tpl');
    //setup session variable
    $_SESSION['username'] = $authenticate->username;
    $_SESSION['first_name'] = $authenticate->getAuthData('first_name');
    $_SESSION['last_name'] = $authenticate->getAuthData('last_name');
    $_SESSION['user_id'] = $authenticate->getAuthData('user_id');
    echo $_SESSION['username'];
    echo $_SESSION['first_name'];
    echo $_SESSION['last_name'];
    echo $_SESSION['user_id'];
    echo "Login successful. Great to see you ";
    echo $authenticate->getAuthData('first_name');
<?php

require_once "Auth/HTTP.php";
define('DSN', 'sqlite://dummy:@localhost//tmp/user.db?mode=0644');
$options = array('dsn' => DSN);
$auth = new Auth_HTTP("DB", $options);
$auth->setRealm('dummy', 'sample');
$auth->start();
?>
<html>
<head><title>HTTP Basic authentication test for simple case</title></head>
<body>
<?php 
print "auth: " . $auth->authType . "<br />";
print "username: "******"<br />";
print "password: "******"<br />";
print "auth: " . print_r($auth->auth) . "<br />";
if ($auth->getAuth()) {
    print "authentication is succeeded.<br />";
}
?>
</body></html>
예제 #4
0
<?php

require_once "Auth/HTTP.php";
// Designate authentication credentials, table name,
// username and password columns, password encryption type,
// and query parameters for retrieving other fields
$dblogin = array('dsn' => "mysqli://*****:*****@localhost/chapter14", 'table' => "logins", 'usernamecol' => "username", 'passwordcol' => "pswd", 'cryptType' => "md5", 'db_fields' => "*");
// Instantiate Auth_HTTP
$auth = new Auth_HTTP("MDB2", $dblogin) or die("Can't connect!");
// Message to provide in case of authentication failure
$auth->setCancelText('Authentication credentials not accepted!');
// Begin the authentication process
$auth->start();
// Check for credentials. If not available, prompt for them
if ($auth->getAuth()) {
    echo "Welcome, {$auth->getAuthData('username')}<br />";
}
?>

예제 #5
0
<?php

require_once "mysql.php";
require_once "Auth/HTTP.php";
// setting the database connection options
$AuthOptions = array('dsn' => "mysql://{$sql_user}:{$sql_pass}@{$sql_host}/{$sql_data}", 'table' => "auth", 'usernamecol' => "username", 'passwordcol' => "password", 'cryptType' => "none", 'db_fields' => "*");
$auth_http = new Auth_HTTP("DB", $AuthOptions);
$auth_http->setRealm('admin4am');
// realm name
$auth_http->setCancelText('<h2>Error 401 - no login!</h2>');
// error message if authentication fails
$auth_http->start();
// starting the authentication process