Deutsch| English
  #1  
Alt 18.04.2011, 16:46
Neuer Benutzer
 
Registriert seit: 18.04.2011
Beiträge: 7
Standard Modul bei neuen Usern automatisch aktivieren

Hallo,

ich möchte bei allen Benutzern die (in diesem Fall per remote-API) neu angelegt werden, mein eigenes Modul automatisch aktivieren.

Folgendes habe ich bereits probiert:

1. in interface/lib/config.inc.php habe ich den Modulnamen an zwei stellen eingefügt, jedoch hat sich nichts geändert:

$conf['modules_available'] = "dashboard,admin,mail,sites,monitor,client,dns,hel p,meinmodul";
$conf['interface_modules_enabled'] = "dashboard,mail,sites,dns,tools,meinmodul";

2. im Forum habe ich folgenden code gefunden und ebenso in die config.inc.php eingefügt, funktioniert allerdings auch nicht.

define('ISPC_INTERFACE_MODULES_ENABLED', 'dashboard,mail,sites,dns,tools,meinmodul');

3. Danach habe ich die Datenbank durchforstet aber nur für den admin-Benutzer einen Eintrag der aktiven Module in der Tabelle "sys_user" gefunden, die anderen User scheinen in der Tabelle "client" abgelegt zu sein, welche aber kein Feld "modules" beinhaltet.

(Ich habe den Benutzer zwischen den Tests gelöscht und neu angelegt und das Modul funktioniert grundsätzlich.)

Zusammenfassend:
* In welcher Tabelle wird gespeichert, welche Module für welchen Benutzer aktiviert sind?
* Wie kann ich erreichen, dass bei neu angelegten Benutzern immer ein bestimmtes zusätzliches Modul aktiviert wird.
Mit Zitat antworten
  #2  
Alt 18.04.2011, 17:08
Administrator
 
Registriert seit: 08.08.2007
Beiträge: 8.817
Standard

1) korrekt, es ist aber nurh ein Eintrag in $conf['interface_modules_enabled'] zus etzen.
2) Nicht notwendig
3) Stimmt so nicht. Alle Login user stehen in sys_user. In clients stehen nur die client records.

Wenn Due inen neuen client in ispconfig anlegts, wird automatisch ein neuer eintrag für diesen Client in sys_user angelegt und zwar mit den Modulen die in $conf['interface_modules_enabled'] stehen.
Mit Zitat antworten
  #3  
Alt 19.04.2011, 10:11
Neuer Benutzer
 
Registriert seit: 18.04.2011
Beiträge: 7
Standard

Zitat:
Zitat von Till Beitrag anzeigen
... Stimmt so nicht. Alle Login user stehen in sys_user. In clients stehen nur die client records.

Wenn Due inen neuen client in ispconfig anlegts, wird automatisch ein neuer eintrag für diesen Client in sys_user angelegt ...
So wäre es logisch und so hätte ich mich auch zurecht gefunden... In diesem Fall ist es aber so, dass in der client-Tabelle 12 Datensätze (mit sys_userid=1) zu finden sind während in der sys_user-Tabelle nur der admin-User zu finden ist. Der Login und das speichern (und laden) von Einstellungen der Benutzer funktioniert problemlos, daher kam ja meine ursprüngliche Frage wo diese Daten abgelegt werden.

Gibt es irgendetwas das ich als ISPConfig-Neuling eventuell nicht bedacht habe, das zu dieser Konstellation führen kann? Vielen Dank!

(Version: 3.0.3.2 mit mehreren Servern)
Mit Zitat antworten
  #4  
Alt 19.04.2011, 11:11
Administrator
 
Registriert seit: 08.08.2007
Beiträge: 8.817
Standard

1) Hast Du die clients auch in ispconfig angelegt und nicht über irgend ein script?
2) Hast Du denn beim anlegen der Clients auch einen usernamen und Passwrt angegeben? Die sys_userw erden natürlich nur erzeugt, wenn der client sich auch einloggen können soll.
3) Die sys_user Tabelle wird natürlich nur auf dem master gefüllt. Wenn Du also nachsehen möchtest ob die User angelegt werden, musst Du in der master DB nachsehen und nicht auf den Slaves.

Es ist technisch unmöglich dass sich ein Nutzer im Interface einloggen kann der nicht in der sys_user Tabelle des Masters steht. Wenn also ein Login im ISPConfig Interface mit den Usern funktioniert, dann stehen sie auch in der sys_user Tabelle.
Mit Zitat antworten
  #5  
Alt 19.04.2011, 14:17
Neuer Benutzer
 
Registriert seit: 18.04.2011
Beiträge: 7
Standard

vielen dank! gelöst!

Zitat:
Zitat von Till Beitrag anzeigen
1) Hast Du die clients auch in ispconfig angelegt und nicht über irgend ein script?
über die remote-api... (davor auch direkt, aber da wählt man ja die module beim anlegen)

Zitat:
Zitat von Till Beitrag anzeigen
Es ist technisch unmöglich dass sich ein Nutzer im Interface einloggen kann der nicht in der sys_user Tabelle des Masters steht. Wenn also ein Login im ISPConfig Interface mit den Usern funktioniert, dann stehen sie auch in der sys_user Tabelle.
Das mit dem Master war ein sehr guter Tipp, ich hatte nur einen Datenbankzugang zu einer Slave-DB...

Das mit dem $conf['interface_modules_enabled'] hat zwar nicht geklappt, aber ich habe den (undokumentierte?!) Parameter "modules" der remote-API-Funktion "client_add" entdeckt, mit dem es problemlos klappt...

Code:
$params = array(
  'server_id' => 1,
  ...
  'modules'=> 'mail,sites,dns,tools,meinmodul'
);
$domain_id = $client->client_add($session_id, 0, $params);
Mit Zitat antworten
Antwort


Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an



Alle Zeitangaben in WEZ +2. Es ist jetzt 14:08 Uhr.


Powered by vBulletin® Version 3.8.1 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.0