Autor Thema: Login Problem bei externen Framesets  (Gelesen 1747 mal)

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Login Problem bei externen Framesets
« am: 06.03.04 - 16:06:53 »
Wir nutzen session based authentication und die domcfg.nsf Login form auf einem Domino 6.0.3 server (auf linux)

Problem:

Es ist irgendwie nicht möglich, sich über Webzugriff in eine Notes Datenbank einzuloggen, wenn diese aus einem Frameset heraus aufgerufen wird, das nicht auf dem gleichen Server liegt.

Liegt das Frameset auf dem Server - alles kein Problem.
Liegt das Frameset aber einfach nur lokal auf dem PC oder auf einem anderen Server - und man ruft in einem Frame eine Notesdatenbank auf - kommt man pardu nicht rein...

Hintergrund:

Wenn Anwender Ihre eigene Domain bei einem externen Provider, zb. puretec, 1&1 haben,
z.B
www.meinedomaine.de
und möchten diese direkt linken auf eine Notesdatenbank auf einem Domino-Server
www.our_server/customer/base.nsf

dann erscheint zwar die Login-Form - aber nach der Eingabe des Namens und Passwort erscheint diese immer und immer wieder - ohne. dass man sich einloggen kann

Username und password sind ok, das RedirectTo field is in Ordnung.

Das Redirection-Frameset des Providers selbst - ist nix anders als ein Frameset mit nur einem Frame - und dort wird der URL zur Datenbak eingesetzt.

Das gleiche Problem tritt auf, wenn man ganz einfach ein Frameset auf seinem lokalen PC baut, und dort in einem Frame eine Notesdatenbank aufruft, die auf einem Server liegt - man kommt pardu nicht rein- die Login Box erscheint immer und immer wieder.

Ist das gleiche Frameset auf dem Notesserver - klappts problemlos.

Wir wissen, wir könnten ein onLoad event in die Login form setzen und damit das frame mit top.lacation aus dem frameset herausholen - aber dann steht natürlich die der eigentliche URL zur Datenbank in der Browser-Adresszeile und nicht mehr die Redirection URL www.customer.de

Ohne session authentication tritt das Problem nicht auf !

Dankbar für jede Idee...

Offline Axel_Janssen

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 769
Re:Login Problem bei externen Framesets
« Antwort #1 am: 06.03.04 - 18:00:20 »
so richtungsmässig würde ich dazu tendieren, dass das irgendwas mit cookies zu tun hat.
Die Session Authentifizierung benötigt ja zwingend cookies.

Versuch mal die Cookies zu überprüfen, die in den http-headern der requests an die im lokalen Frameset enthaltenen login-geschützten Seiten gesendet werden.
Cookies werden ja immer nur in requests an die (Sub-)Domains gesendet, in die sie gesetzt worden sind.
Wenn das Frameset aber woanders ist, werden dahin die Cookies nicht gesendet und vielleicht auch nicht an die im Frameset eingebundenen Seiten.  
 
Vermutlich erhälst du mit Packet-Sniffern ein Bild über die Lage:
http://www.codestore.net/store.nsf/unid/BLOG-20040302/

apache-axis hat ein Tool namens TCPMon: damit könnte es auch gehen.
Es nimmt requests auf Port xxxx an, stellt ihn in einer Konsole dar inklusive aller header und leitet ihn dann einen Port deiner Wahl weiter (etwa der Domino-Server).
http://ws.apache.org/axis/
Axis ist zwar für Webservices, ich hab aber das spezifische Tool schon zweckentfremdet.
Lässt sich starten über java org.apache.axis.utils.tcpmon <listeningport> <targetservername> <targetserverport> (falls java installiert ist und der Classpath korrekt gesetzt ist).

Nehmen wir an dein Server ist http://www.myserver.com und er hat Port 80.  
Dann java org.apache.axis.utils.tcpmon 8090 http://www.myserver.com 80
auf der Konsole.
Es erscheint dann eine selbsterklärende Gui.
Setze die URLs aus dem Frameset auf port 8090.
Also z.B. <frame src="http://www.myserver.com:8090/aDatabase.nsf/aViewToWatch?openView"  >
tcpmon fungiert dann als eine Art, sagen wir, Brücke. Es nimmt den Request an, stellt ihn dar und sendet ihn an die ZielURL weiter.

Zugegebenermassen ein wenig aufwendig für nicht-Java Leute.
 
Bitte halte uns auf dem Laufenden.

Gruß Axel
« Letzte Änderung: 06.03.04 - 18:12:35 von Axel_Janssen »
... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re:Login Problem bei externen Framesets
« Antwort #2 am: 06.03.04 - 21:37:36 »
Das klingt gut. Vielen Dank.
An die cookies hatte ich auch schon mal gedacht - wußte nur nicht, wie man das testen kann bzw. was da stehen muss.

Wir sind am Testen...

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re:Login Problem bei externen Framesets
« Antwort #3 am: 18.03.04 - 22:56:37 »
Hallo Axel,

das mit den Cookies war die richtige Richtung.
Nicht zuletzt dank deiner Packet-Sniffer Programm Empfehlung haben wir nun das Problem lokalisiert und werden es wohl auch umgehen können.

Die DomSessAuthentication setzt bekanntlich nur Session-Cookies bzw. temporäre Cookies.

Dass das Einloggen über eine Umleitung bzw. in einem Fremdframe nicht funktioniert aber im direkten Zugriff doch,
liegt an der Unterscheidung zwischen
Erstanbietercookies gegenüber Drittanbietercookies

Letztere sind im Explorer bei einer normalen Windows-Standard-Installation gesperrt - setzt man die Sicherheits-Stufe eines herab bzw. läßt diesen Drittanbietercookie explizit zu, klappt auch das Einloggen - übrigens GENAU ANALOG wie hier im Notes Forum selbst.

Wir werden nun ein kleines Javascript nutzen, welches onLoad die Login-Form aus dem Frame heraus on Top setzt, womit die Loginseite zur "Erstanbieterseite" wird.

Damit ist dann zwar im Bearbeitenmodus die Umleitungsdomain weg,  aber was solls, man kann nicht immer alles haben...

Danke für die Hilfe !


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz