login über soap api geht nicht.

tkaulen

New Member
ich habe die remoting.inc.php um eine funktion erweitert, die mir zu einer customer_no die domains ausgibt.
PHP:
 public function get_domain_by_customer_no($session_id,$customer_no)
	 {
		global $app;
  if(!$this->checkPerm($session_id, 'get_domain_by_customer_no')) {
              $this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
              return false;
        }
              
		$sql = "select d.* from sys_group g left join domain d on g.groupid  = d.sys_groupid
left join client c on c.client_id = g.client_id where c.customer_no = $customer_no;";

 $result = $app->db->queryAllRecords($sql);
        if(isset($result)) {
			return $result;
        } else {
			$this->server->fault('no_client_found', 'There is no site for this user');
			return false;
        }
		 
	 }
 

ZooL

Member
dafür habe ich mir diese methode angelegt..

PHP:
//Ausgabe Group_id angand der ID wird die Domain zugeordnet.
       
        $this->group_id = $client->client_get_groupid($session_id, $this->client_id);

also in etwa gleich... richtung...


greetz

ich bin auch im IRC auf irc.quakenet.org
im Channel #ispconfig
 

Till

Administrator
klar, kann ich gerne machen :)

das problem wird momentan sein, falls Till keine aussage liefert was diese Group_id und deren zuordnung zu einem user angeht, dass ich diese über ein SQL Statement direkt in der datenbank herausfinden muss, dies würde ich natürlich gerne vermeiden wollen....

Gruß
Patrick

Jedem Kunden ist eine Gruppe zugeordnet (siehe Tabelle sys_user).

@tkaulen: von Der Verwenung der customer_no kann ich nur abraten, da es ein optionales Beschreibungstextfeld ist und sich jederzeit ändern kann so dass dann die Zuordnung verloren geht. Die vom System verwendete ID ist zur Identifizierung von Kunden ist die client_id und diese wird auch von allen API Funktionen verwendet.
 

PatrickR

Member
Hallo zusammen,

ich habe nun mal die Funktion von tkaulen in meine remoting.inc.php eingebaut

wenn ich diese aber so übernehme bekomme ich immer die fehlermeldung:
permission_deniedYou do not have the permissions to access this function. SOAP Error: You do not have the permissions to access this function.

wenn ich aber den teil:
PHP:
if(!$this->checkPerm($session_id, 'get_domain_by_customer_no')) {
            $this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
            return false;
        }
rausnehme gehts. Dann besteht aber das problem, das die eingabe der kundennummer ohne passwort reicht.

muss ich die neue funktion in der remoting.inc.php noch irgendwoanders "anmelden" weil irgendwo muss das system ja wissen unter welche berechtigungsgruppe die fällt (checkboxen bei remoteusers)

Viele Grüße
Patrick
 

Till

Administrator
Da die Funktion einen neuen permission tokem´n "get_domain_by_customer_no" einführt musst Du deisen auch in ISPConfig bekannt machen idem Du ihn im Domain Modul in der datei lib/remote.conf.php hinzufügst.

Es geht aber deutlich einfacher indem Du den bestehenden permission token der domain_get Funktion verwendest, da die neue Funktion ja nahezu das gleiche macht also:

Code:
if(!$this->checkPerm($session_id, 'domains_domain_get')) {
            $this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
            return false;
        }
 

Werbung

Top