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