AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke C# [ASP.NET] Windows Authentication Logout
Thema durchsuchen
Ansicht
Themen-Optionen

[ASP.NET] Windows Authentication Logout

Ein Thema von Phoenix · begonnen am 22. Sep 2008 · letzter Beitrag vom 22. Sep 2008
Antwort Antwort
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#1

[ASP.NET] Windows Authentication Logout

  Alt 22. Sep 2008, 13:40
Hi,

ich hab ein eher algorithmisches Problem hier:

Ich will einen Logout bei einer ASP.NET Anwendung realisieren, die Windows Authentication benutzt. Da hier die Authentifizierung auf http-Ebene passiert (also sehr früh), kann ich hier auch nur auf dieser Ebene den Logout ausführen. Das ganze passiert, in dem an den CLient eine 401.1 Response geschickt wird. Bekommt der Webbrowser in einer via http authentifizierten Session einen 401er zurück (Not Authorized), dann zeigt er wieder den Promt für die Benutzereingabe an.

Das ist soweit kein Problem, technisch funktioniert das auch das heisst, ich kann den Benutzer damit aus- und einen anderen wieder einloggen. Mir gefällt das Handling nur nicht, da wenn ich die 401er Response sende, der Browser im Hintergrund weiterhin die alte Seite anzeigt. Und damit möglicherweise Daten, die der User mit dem Ausloggen eigentlich schützen wollte.

Wenn ich auf eine andere Seite umleite und diese Seite schon beim ersten Aufruf den 401er sendet habe ich das gleiche Problem. Ich muss die neue Seite also erst einmal anzeigen und dann in einem Postback den 401er senden.

Nur habe ich dann das Problem, dass ich hier nicht unterscheiden kann, ob der Postback direkt der erste Postback ist ( = ich muss den 401er schicken und den Seitenaufbau damit abbrechen), oder ob es dann nach dem 401er der tatsächliche Seitenaufbau ist ( = ich muss auf die Hauptseite umleiten). Wie gesagt: Die Windows Authentication läuft ja schon etwas früher.

Jetzt könnte ich mir den Status natürlich in einer Session-Variable merken, finde das aber etwas unsauber, da die Session ja bei einem Logout eigentlich auch weggeschmissen werden müsste und vor dem Login keine neue da sein dürfte.

Hat da wer schonmal sowas gemacht und eine Idee?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: [ASP.NET] Windows Authentication Logout

  Alt 22. Sep 2008, 14:07
hmm, session wär auch meine erste idee gewesen, vielleicht nimmste einfach 2 seiten, du zeigst erst ne standardseite an, die dann zu deiner 401er seite weiterleitet
"Never touch a running system administrator !"
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#3

Re: [ASP.NET] Windows Authentication Logout

  Alt 22. Sep 2008, 14:22
Egal wie viele Seiten ich dazwischen schalte: Ich habe immer auf genau einer Seite das Problem, dass ich einmal einen 401er senden muss und ein anderes mal auf die Startseite der Anwendung weiterleiten muss, und ich nicht zwischen dieses beiden Möglichkeiten unterscheiden kann.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: [ASP.NET] Windows Authentication Logout

  Alt 22. Sep 2008, 15:24
viell. mit get-parametern ?
"Never touch a running system administrator !"
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#5

Re: [ASP.NET] Windows Authentication Logout

  Alt 22. Sep 2008, 15:34
Das hilft doch nicht? Ich kann nicht beim 401er senden noch irgendwelche Parameter mitgeben....

Der Request kommt, ich breche ihn mit einem 401er ab, danach poppt der Browser den Login-Dialog auf und schickt exakt den gleichen Request nochmal. Nur dann darf ich den nicht abbrechen... Aber ich kann ja nicht erkennen ob ich schonmal abgebrochen habe oder nicht weil es ja exakt der gleiche Request ist.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz