Auslesen, Gruppenzuordnung usw. passen. In der config für die Bridge wird das alles angegeben. Die Daten werden auch richtig ausgelesen, es fehlt eben nur die überprüfung ob das eingegebene Kennwort (im eqdkp) dem entspricht das in der ic?_user Tabelle gespeichert ist. Und genau dieser Abgleich macht mir Kopfzerbrechen. Bei nem einfachen md5 oder sha1 geht das mit
if (sha1($password) == $hash){
return true;
}
return false;
Aber hier wrid das Pw doch etwas mehr verwurstelt
. Ich hab versucht die user_pw_check rein zu kopieren und die Variablen an zu passen. Hat leider nicht funktioniert
Hier noch meine komplette Bridge mit "nur" md5.
<?php
if ( !defined('EQDKP_INC') ){
header('HTTP/1.0 404 Not Found');exit;
}
class ilch_bridge extends bridge_generic {
public function __construct(){
parent::__construct();
$this->name = "ilch";
$this->data = array(
'user' => array(
'table' => 'user',
'id' => 'id',
'name' => 'name',
'where' => 'name',
'password' => 'pass',
'email' => 'email',
'salt' => '',
'QUERY' => '',
),
'groups' => array(
'table' => 'grundrechte', //without prefix
'id' => 'id',
'name' => 'name',
'QUERY' => '',
),
'user_group' => array(
'table' => 'user',
'group' => 'recht',
'user' => 'id',
'QUERY' => '',
),
);
$this->functions = array(
'login' => array(
'callbefore' => '',
'function' => '',
'callafter' => '',
),
'logout' => '',
'autologin' => '',
'sync' => 'ilch_sync',
);
$this->settings = array(
'cmsbridge_disable_sync' => array(
'fieldtype' => 'checkbox',
'name' => 'cmsbridge_disable_sync',
),
);
$this->sync_fields = array(
'user_email',
'username',
);
}
//Needed function
public function check_password($password, $hash, $strSalt = '', $boolUseHash = false){
if (sha1($password) == $hash){
return true;
}
return false;
}
public function ilch_sync($arrUserdata){
global $core;
if ($core->config['cmsbridge_disable_sync'] == '1'){
return false;
}
$sync_array = array(
'user_email' => $arrUserdata['email'],
'username' => $arrUserdata['name'],
);
return $sync_array;
}
}
?>
Ich liefer dir gene mehr Infos wenn du mir sagst was du brauchst. Info von eqdkp bezüglich Bridge gibts
hier