Mandanten und Rechte

Gesperrt
tmhoefer
Beiträge: 40
Registriert: Mi 18. Sep 2002, 19:00
Wohnort: Albershausen
Kontaktdaten:

Mandanten und Rechte

Beitrag von tmhoefer » So 18. Mai 2003, 20:27

Noch ein Mandanten-Bug:

Ich habe 2 Mandanten angelegt und einen neuen Benuter, der nur auf en zweiten Mandanten zugriff hat (KEIN ADMIN!!!) Melde ich mich mit diesem Benutzer an, wird im Menü unter Mandant der erste Mandant (im Beispiel 'Kunde (1)') angezeigt. Auf der Startseite unter Ihr Mandant aber der zweite Mandant. Aktiv scheint jedoch der erste Mandant zu sein. Beim auswählen eines Menüpunktes kommt es zur Fehlermeldung 'Objekt erforderlich'.

Martin
Zuletzt geändert von tmhoefer am So 18. Mai 2003, 21:05, insgesamt 1-mal geändert.

tmhoefer
Beiträge: 40
Registriert: Mi 18. Sep 2002, 19:00
Wohnort: Albershausen
Kontaktdaten:

Nachtrag

Beitrag von tmhoefer » So 18. Mai 2003, 20:54

Hallo,

habe noch einen Nachtrag zum Fehler. Nachdem ich mehrere Mandanten angelegt habe, tritt folgender Effekt auf:

Erteile ich meinem Benutzer das Recht auf den 2. und 3. Mandanten (inkl. einer Sprache), erhalte ich auf der Startseite unter 'Ihre Mandanten' eine leere Dropdown-Box. Erteile ich dem Benutzer das Recht auf eine Sprache des ersten Benutzers (nicht 'Zugriff auf Mandant'!!!), kann ich zumindest meine Mandanten auswählen. Fehlt dann beim ausgewählten Mandant das Recht auf mind. eine Sprache, erhalte ich wiederum eine leere Dropdown-Box.

Artikel bearbeiten kann ich aber nur, wenn ich dem Benutzer Admin-Zugriff auf den 2. bzw. 3. Mandant erteile. Beim Mandant 1 scheints zu funktionieren.

Vorschlag:
1. Wäre es beim anlegen eines Mandanten nicht generell sinnvoll, die Standard-Sprache sofort anzulegen? Ggf. mit einem Auswahlfenster zur Abfrage des Encodings.

2. Bei der Rechtevergabe die Sprach-Checkbox nur anzuzeigen, wenn mehrere Sprachen vorhanden sind. Bei nur einer Sprache wäre es unsinnig, dem Benutzer den Zugriff auf den Mandant zu erlauben ohne eine einzige Sprache.

Die Rechteverwaltung müsst ihr noch mal genauer unter die Lupe nehmen.

Martin

htw
Beiträge: 490
Registriert: Sa 5. Okt 2002, 03:09
Wohnort: Hessen
Kontaktdaten:

Re: Nachtrag

Beitrag von htw » Mo 19. Mai 2003, 07:59

tmhoefer hat geschrieben: Vorschlag:
1. Wäre es beim anlegen eines Mandanten nicht generell sinnvoll, die Standard-Sprache sofort anzulegen? Ggf. mit einem Auswahlfenster zur Abfrage des Encodings.

2. Bei der Rechtevergabe die Sprach-Checkbox nur anzuzeigen, wenn mehrere Sprachen vorhanden sind. Bei nur einer Sprache wäre es unsinnig, dem Benutzer den Zugriff auf den Mandant zu erlauben ohne eine einzige Sprache.

Die Rechteverwaltung müsst ihr noch mal genauer unter die Lupe nehmen.

Martin
Hallo Martin,

vielen Dank für die Vorschläge. Wir werden den ersten Vorschlag mal überdenken und wahrscheinlich implementieren (macht aus meiner Sicht Sinn).

Auch der zweite Vorschlag wird noch einmal geprüft.

Werden wir tun :-)

Grüße
Harald

aly2000
Beiträge: 2
Registriert: Fr 20. Jun 2003, 19:02
Kontaktdaten:

Beitrag von aly2000 » Fr 20. Jun 2003, 19:39

Hallo,

ich habe gestern auch die Beta 4.3 installiert (mit Beispiel). Jetzt probiere ich schon seitdem an den Mandanten herum. Da muß irgendein schwerwiegender Fehler drin sein, der es unmöglich macht, mit neu angelegten Mandanten zu arbeiten:

Zuerst mal muß ich den von tmhoefer beobachteten Fehler bestätigen.
Weiterhin ist es nicht möglich, mit einem Benutzer, der einem neu angelegten Mandanten zugeordnet ist, eine Site zu bearbeiten/erstellen. Zuerst muß ich diesem Benutzer mal Systemadmin-Rechte geben, damit die Menüleiste überhaupt funktioniert. Das ist natürlich völlig indiskutabel, damit hätte der Benutzer ja Zugriff auf die anderen Mandanten. Aber abgesehen davon, muß irgendwo im System das Verzeichnis /cms festgelegt sein (in dem die Beispielsite installiert ist). Ich bekomme bei manchen Aktionen immer mal wieder Fehlermeldungen, in denen auf diese Verszeichnis zuzugreifen versucht wird, obwohl ich mit einem Mandanten arbeite, dessen Site nicht in /cms sondern einem anderen Verzeichnis liegt. Es wird dann teilweise diese /cms vor bzw. anstatt dem eigentlichen Verzeichnis gestellt. Es ist z.B. auch nicht möglich, dem Mandanten Kunde(1) einen anderen Serverpfad zuzuweisen. Das heißt, es ist schon möglich die Zuweisung vorzunehmen (steht dann in der DB auch korrekt drin), aber auch nach dieser Zuweisung stellt Contenido immer mal wieder dieses /cms vor das eigentliche Verzeichnis, wodurch es zu Fehlermeldungen kommt, bzw. die Site nicht im Editor bzw. in der Vorschau abrufbar ist.
Ich vermute also, daß dieser Pfad in irgendeiner Datei fest eingestellt ist und nicht aus der DB bezogen wird.

Damit kann ich das auf mich ansonsten einen guten Eindruck machende System leider nicht einsetzen. Für mich ist die Verwaltung mehrerer Site mittels der Mandanten sehr wichtig.

Oder gibt es hier ein Bugfix, was ich auf die Schnelle anwenden könnte ...?


Gruß
André

CleHo

Mandanten Rechte Lösung

Beitrag von CleHo » So 22. Jun 2003, 07:20

Hab da eine Lösung auf die Schnelle.

Hab inder class.client.php
folgende Funktion hinzugefügt

* getLanguage()
* Returns the language of the client
* @return string
*/
function getLanguage ($clientid)
{
global $cfg;

$db = new DB_Contenido;

$sql = "SELECT
idlang
FROM
". $cfg["tab"]["clients_lang"]."
WHERE
idclient = \"".$clientid."\"";

$db->query($sql);
if ($db->next_record())
{
return ($db->f("idlang"));
} else {
return ("0");
}

} // end function

dann in der index.php (contenido Verzeichniss)

die Klasse includiert

include_once ($cfg["path"]["classes"] . 'class.client.php');

dann dann client ermittelt mit

$classclient = new Client();
$clients = $classclient->getAccessibleClients();
foreach ($clients as $key => $v_client)
{
$client = $key ;
}

und zuletzt noch die Sprache mit:

$lang=$classclient->getLanguage($client);

Das ganze vor

//Sprache wechseln

einfügen.

Hoffe das funzt.

Gast

Beitrag von Gast » So 22. Jun 2003, 10:21

... super, hab das Bugfix mal implementiert, jetzt klappt das mit den neuen Mandanten.

Jetzt noch n anderes Problem:
ich lege den neuen Mandanten an, das Verzeichnis wird korrekt erstellt und auch diverse Inhalte reinkopiert. Wenn ich jetzt ne Domain auf dieses Verzeichnis lege und die dann abrufe steht in der Browserstatuszeile
mehr passiert nicht. Ach ja, in der error_log findet sich noch folgender Eintrag, den die index.html der Demosite erzeugt:
[Sun Jun 22 11:07:13 2003] [error] [client 217.xxx.178.38] File does not exist: /home/www/web1/html/cms/web5/css/styles.css
(das nur nebenbei, ist sicher nicht die Ursache, daß die Site nicht geladen wird ...)
Nun bin ich der absolute Neuling in Bezug auf Contenido, aber ist es möglich, daß zwar die Demo-Site korrekt kopiert wird, aber die Datenbankeinträge nicht erstellt werden? Lege ich dann von Hand Layout, Template etc an, scheint es zu klappen. Ist aber ziemlich nervig, das für jeden neu erstellten Mandanten so zu machen.
Oder habe ich da irgendwo n Denkfehler bzw. was falsch verstanden?

Gruß
André

PS: @CleHo
ich habe Dich nicht in der Benutzerliste des Forums gefunden :?

aly2000
Beiträge: 2
Registriert: Fr 20. Jun 2003, 19:02
Kontaktdaten:

Beitrag von aly2000 » So 22. Jun 2003, 10:29

äh, ja, hatte mich vergessen einzuloggen, das oben ist von mir aly2000

Und dann habe ich in der access_log noch folgende Einträge gefunden (man beachte den Sekundentakt der Aufrufe):
217.xxx.178.38 - - [22/Jun/2003:11:21:29 +0200] "GET /front_content.php?client=3&idcat=0&=0&lang=!LANG! HTTP/1.1" 302 5785
217.xxx.178.38 - - [22/Jun/2003:11:21:29 +0200] "GET /front_content.php?client=3&idcat=0&=0&lang=!LANG! HTTP/1.1" 302 5785
217.xxx.178.38 - - [22/Jun/2003:11:21:29 +0200] "GET /front_content.php?client=3&idcat=0&=0&lang=!LANG! HTTP/1.1" 302 5785
217.xxx.178.38 - - [22/Jun/2003:11:21:30 +0200] "GET /front_content.php?client=3&idcat=0&=0&lang=!LANG! HTTP/1.1" 302 5785
217.xxx.178.38 - - [22/Jun/2003:11:21:30 +0200] "GET /front_content.php?client=3&idcat=0&=0&lang=!LANG! HTTP/1.1" 302 5785
217.xxx.178.38 - - [22/Jun/2003:11:21:30 +0200] "GET /front_content.php?client=3&idcat=0&=0&lang=!LANG! HTTP/1.1" 302 5785
217.xxx.178.38 - - [22/Jun/2003:11:21:30 +0200] "GET /front_content.php?client=3&idcat=0&=0&lang=!LANG! HTTP/1.1" 302 5785
217.xxx.178.38 - - [22/Jun/2003:11:21:31 +0200] "GET /front_content.php?client=3&idcat=0&=0&lang=!LANG! HTTP/1.1" 302 5785
217.xxx.178.38 - - [22/Jun/2003:11:21:31 +0200] "GET /front_content.php?client=3&idcat=0&=0&lang=!LANG! HTTP/1.1" 302 5785
217.xxx.178.38 - - [22/Jun/2003:11:21:31 +0200] "GET /front_content.php?client=3&idcat=0&=0&lang=!LANG! HTTP/1.1" 302 5785
André

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Mandanten und Sprache

Beitrag von HerrB » So 22. Jun 2003, 16:04

Zu "es wird keine Seite angezeigt":
Das Kopieren der Verzeichnisse und Templates eines neuen Mandanten erzeugt nur die Rahmenstruktur - Inhalte (d.h. Layout, Module und Templates) musst Du selbst (jedesmal) erzeugen.

Das Kopieren eines vorhandenen Mandanten (mit Layouts, Modulen, Templates usw.) ist (noch) nicht möglich.

D.h. wenn Du keine Layouts, Module, Templates, Kategorien und Artikel hast, wird nichts angezeigt.

Zu
217.xxx.178.38 - - [22/Jun/2003:11:21:29 +0200] "GET /front_content.php?client=3&idcat=0&=0&lang=!LANG! HTTP/1.1" 302 5785
Kontrolliere die config.php im Mandanten-Verzeichnis. Dort steht vermutlich !LANG! in der Language-Variable. Ersetze den Eintrag durch die ID der Sprache Deines Mandanten (e.g. Deutsch (5) -> ID = 5), dann sollte der Fehler entfallen. Solltest Du noch keine Sprache für den Mandanten angelegt haben: Mandant auf Startseite auswählen -> Administration -> Sprachen.

Gruß
HerrB

Evert

Beitrag von Evert » Fr 27. Jun 2003, 09:45

also beim erstelen von Mandanten dürfte noch mas gemacht werden.

FOlgendes ist mir aufgefallen (apache 1.3.36, php 4.3.1)

Problem : Es werden keine Sprachen für den neuen Mandaten definiert, und auch keine Verküpfung auf eine bestehende Sprache gemacht.

Lösung : im Mandatenverzeichniss language variable setzen. denn solange das nicht gemacht wurde klappt die ganze erfassung von neuen Usern für diesen Mandaten nicht.

Gesperrt