Domino 9 und frühere Versionen > ND6: Entwicklung
Login und Sitzungsauthentifizierung
mhenke:
Hallo Notesfreunde,
ich hab zwar schon zum Thema einige Beiträge hier im Forum gefunden und bin auch weitergekommen, aber es hakt trotzdem noch und deshalb stelle ich mal meine sezielle Frage.
Es gibt auf meinem Domino-Server, eine DB, die vom Web aus für jeden erreichbar ist (soll eine Portalseite werden) und es gibt verschiedene DBs, auf die nur mit Authentifizierung zugegriffen weden soll.
Das funktioniert auch soweit, ich habe Sitzungsauthentifizierung eingestellt und es erscheit dann die Login-Seite der domcfg.nsf.
Jetzt möchte ich in meiner Portalseite Benutzernamen und Passwort eingeben können, um dort dem eingeloggten Benutzer Gruppen- oder Rollenspezifische Menüs anzubieten, die dem anonymen Benutzer nicht zur Verfügung stehen und ihm dann Zugriff auf Datenbanken zu ermöglichen, ohne weitere Anmeldung. Ich habe es dann so gemacht wie auch hier schonmal beschrieben. Ich habe die $$LoginUserForm-Maske in meine DB kopiert und biete sie permanent in einem extra Frame an. Wenn ich dann Benutzernamen und Kennwort eingebe, kommt die meldung "Maske verarbeitet" egal ob die Daten richtig oder falsch waren.
Ich bin also nicht in der Sitzung angemeldet.
Ich habe auch probiert in einem Frame eine direkte Verknüpfung mit der Anmeldemaske der $$LoginUserForm herzustellen, leider mit dem gleichen Ergebnis.
Was mache ich falsch?
Schöne Grüsse,
Michel
thorsten_w:
Hallo Michael,
Du musst nicht unbedingt die $$LoginUserForm benutzen.
Für eine Anmeldung ist es notwendig, das die Daten an die names.nsf geschickt werden. Dann greift ein Mechanismus, der den Login durchführt.
Zum Beispiel würde dieser Link zu einem Login führen.
https://my.domain.com/names.nsf?login&username=beispiel&password=beispiel&redirectTo=beispiel.
Du solltest überprüfen, ob die Aktion deiner Loginform auf die Names.nsf geht.
Praktisch ist es egal, ob die Daten via POST oder GET gesendet werden.
Gruss Thorsten.
mhenke:
Hi Thorsten,
wenn ich Dich richtig verstanden habe, könnte ich mir eine Maske mit Feldern für Benutzername, Kennwort und einer Schaltfläche in der ich eine URL zusammenbaue basteln, die ich in einem Frame meiner Portalseite anbiete. Und dann melde ich mich damit praktisch an meiner Portalseite an und bin für die gesamte Sitzung authentifiziert, oder?
Schöne Grüsse,
Michel
thorsten_w:
genau
gruss Thorsten
flaite:
--- Zitat von: thorsten_w am 23.01.06 - 11:00:01 ---genau
gruss Thorsten
--- Ende Zitat ---
Mit Verlaub. Ich würde sagen: Nein. Das heisst: Ich kapiere überhaupt nicht was das soll.
Ob du dich im Browser gegen die names.nsf oder jede andere beliebige Datenbank authentifizierst ist völlig egal. Wichtig ist nur, dass man in der jeweiligen html-Seite auf dem Client beim letzten request den session cookie geschickt bekommen hat oder nicht. Ohne session authentifizierung wird das nur anderweitig gecached. Session Cookie ist aber besser.
Ausserdem erscheint es mir total unsicher Username/Passwort über HTTP-GET zu übertragen.
Über die domcfg zu gehen ist grundsätzlich sinnvoll.
Ein Problem, wenn du mehrere Frames verwendest ist so:
Du hast den Logging-Cookie nur in dem Frame, in dem du die Authentifizierung durchgeführt hast. Ich glaub du kannst die $$LogingForm meines Wissens auch nicht so einfach fröhlich kopieren.
Kannst du nicht einfach einen User anonymous in die ACL der Datenbanken eintragen und dann per hide-when und ähnlichem diesem User bestimmte Rechte nehmen?
Für Webentwicklung empfhehle ich btw. zum besseren Überblick beim Entwickeln empfehle ich btw. http sniffer wie z.B. http://www.iewatch.com/ (IE-plugin). Damit kann man ganz gut Einblicke darüber gewinnen, was tatsächlich passiert.
Gruß Axel
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln