Authentifizierung via Webserver

Gesperrt
thepoet
Beiträge: 55
Registriert: Mo 7. Jul 2003, 11:39
Wohnort: Vilsbiburg
Kontaktdaten:

Authentifizierung via Webserver

Beitrag von thepoet » Mo 4. Aug 2003, 10:13

Hi,

ich bin gerade dabei, unser Corporate Intranet auf Contenido zu portieren. Nachdem unser Login ohnehin an die Domäne gebunden ist, habe ich die conlib/local.php mit einer Contenido_Integrated_Auth erweitert, die einfach nur den http-Login weiterreicht und die Perms dazu lädt.

Sieht für's erste so aus:

Code: Alles auswählen

class Contenido_Integrated_Auth extends Contenido_Auth {

  var $classname = "Contenido_Integrated_Auth";
  var $lifetime       =  1;

  function auth_loginform() {

    global $sess;
    global $_PHPLIB;
    global $cfgPathImg;

    include($_PHPLIB["libdir"] . "intloginform.ihtml");
  }

  function auth_validatelogin() {
    global $PHP_AUTH_USER;

    $username = $PHP_AUTH_USER;

    if(isset($PHP_AUTH_USER)) {
      $this->auth["uname"]=$PHP_AUTH_USER;        ## This provides access for "loginform.ihtml"
    }

    $this->db->query(sprintf("select user_id,perms ".
                "from %s where username = '%s'",
                          $this->database_table,
                          addslashes($username)));

    while($this->db->next_record()) {
      $uid   = $this->db->f("user_id");
      $perm  = $this->db->f("perms");
    }

    if ( $uid ) {
      $this->auth["perm"] = $perm;
      return $uid;
    } else {
      return false;
    }
  }
}


class Contenido_Frontend_Integrated_Auth extends Contenido_Integrated_Auth {
}
Die Domänenbenutzer repliziere ich stündlich via Cron in die Contenido-DB.

Meine conlib/int_loginform.ihtml sieht so aus:

Code: Alles auswählen

<?php
  header( "Location: https://bitte.deine.url.hier".$this->url()) ;
  exit 0;
?>
Hoffe, jemand kann das ganze brauchen (oder es fließt in Contenido selbst ein, was IMHO Sinn machen würde).

Viele Grüße
Christian

Gesperrt