Zope und Sessions mit Xmlrpc

Django, Flask, Bottle, WSGI, CGI…
Antworten
Tante
User
Beiträge: 2
Registriert: Montag 6. Dezember 2004, 17:45
Wohnort: Oldenburg
Kontaktdaten:

Moin.

Ich habe eine Frage, für die ich noch keine Lösung gefunden habe (lang lebe die Suchfunktion!). Ich bin nun das erste mal hier und hoffe, nicht eine wirklich dämliche oder schon beantwortete Frage zu stellen.

Also, folgendes Problem:
Man nehme Zope als "Server" einer Client-Server Anwendung. Die Clients kommunizieren mit dem Server mittels XML-RPC über SSL. Soweit so gut, keine Probleme.

Nun müssen die Clients sich beim Server mittels Name+Passwort authentifizieren, damit einem Nutzer seine Rechte zugeordnet werden können (sein "virtuelles Abbild" sozusagen). Natürlich ist es unschön bei jeder Anfrage wieder Name+Passwort mit zu übergeben, wo es doch so etwas schönes wie Sessions gibt.

Sessions auf dem Zope Server zu starten ist kein Problem, auch dem Client seine SessionID mitzuteilen ist problemlos. Nun möchte ich bei der nächsten Anfrage die SessionID mitgeben, damit "meine" Session wieder instanziiert werden kann, doch genau dieses bekomme ich nicht hin:
Wie sage ich Zope: "Bitte ordne mir die Session mit der SessionID 'sessid' zu"?

Unter PHP würde man session_start($sessID) verwenden, wie ist ähnliches mit Zope möglich?

Danke schonmal für die Hilfe.

Weitere Infos zum Versuchssystem:
Der Ablauf soll folgendermassen sein:
- Client ruft die Methode login(name,password) auf dem Server auf und erhält bei Erfolg seine SessionID zurück.
- diese SessionID wird nun als erster Parameter in jede Anfrage gehängt, beispielsweise: methode1(SessionID, param1, param2) , methode2(SessionID) usw.
- logout() zerstört die Session
Tante
User
Beiträge: 2
Registriert: Montag 6. Dezember 2004, 17:45
Wohnort: Oldenburg
Kontaktdaten:

Okay hat sich mal wieder gezeigt:
Tante kann Doku nicht gut lesen.

Wenn man sich einfach mal ein

Code: Alles auswählen

sess = self.REQUEST.SESSION.getBrowserIdManager().getSessionDataByKey(sessid)
gönnt, dann hat man genau seine Session.
Antworten