Authentifizierung via Webserver
Verfasst: 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:
Die Domänenbenutzer repliziere ich stündlich via Cron in die Contenido-DB.
Meine conlib/int_loginform.ihtml sieht so aus:
Hoffe, jemand kann das ganze brauchen (oder es fließt in Contenido selbst ein, was IMHO Sinn machen würde).
Viele Grüße
Christian
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 {
}
Meine conlib/int_loginform.ihtml sieht so aus:
Code: Alles auswählen
<?php
header( "Location: https://bitte.deine.url.hier".$this->url()) ;
exit 0;
?>
Viele Grüße
Christian