Frage

Gibt es eine Möglichkeit, eine Abmeldefunktion für eine Site bereitzustellen, die Classic ASP verwendet und die Windows -Authentifizierung verwendet (dh die eingeschränkten Ordner haben ihre Berechtigungen über das Server -Betriebssystem festgelegt, und Benutzernamen/Passwörter werden in Active Directory gespeichert)?

Wenn es einen Unterschied macht, wird der Server IIS 5.0 ausgeführt. Das Abmelden muss zumindest für den IE (6, 7 und 8) und für Firefox arbeiten.

Beachten Sie, dass dies eine alte und ziemlich große Stelle ist - viele Hundert einzelne ASP -Seiten -, daher funktioniert jede Lösung, bei der das Ändern einzelner Seiten geändert wird. (Aus dem gleichen Grund sowie der grundlegenden Höflichkeit schlagen Sie bitte nicht vor, sich zu ASP.NET zu wechseln.)

Was ich bisher gefunden habe, deutet darauf hin, dass das Senden eines 401 -Antwortcode könnte Bewirken Sie einige Browser, die Authentifizierung zu klären, aber (1) Ich weiß nicht, wie das geht, und (2) würde ich wirklich etwas bevorzugen, das tatsächlich funktioniert, anstatt nur eine Chance zu haben, zu arbeiten. Ich weiß auch, dass es völlig sinnlos wäre, mit dem Sitzungsobjekt (.

War es hilfreich?

Lösung

Ihre Verwendung des Begriffs "Abmelden" ist verwirrend. Normalerweise ist es die Websites -Reposabilität zum Verwalten von Anmeldungen/Outs, und dies wird normalerweise mit dem Sitzungsobjekt durchgeführt, aber nicht das, worüber Sie sprechen.

Ich nehme zwei mögliche Dinge wahr, über die Sie sprechen.

Verbindungsauthentifizierung

Erstens die Tatsache, dass die Authentifizierung des Typs von Windows Integrated Security auf Verbindungsebene durchgeführt wird. Sobald eine Verbindung authentifiziert wurde, kann die Verbindung (die unter HTTP/1.1 standardmäßig in einem offenen Zustand verwaltet wird) verwendet werden, ohne dass die Authentikations -Handshakes weiter benötigt werden.

Es kann möglich sein, den Client oder Server zu überzeugen, die Verbindung zu schließen, indem Sie die einbeziehen Connection: close Header in der Antwort, dies jedoch möglicherweise nicht dazu führt, dass die Verbindung geschlossen wird.

Zusätzlich kann ein Client zwei oder mehr authentifizierte Verbindungen gleichzeitig geöffnet haben. In diesem Fall würde der obige Ansatz nur einen von ihnen schließen.

Die Schlussfolgerung hier ist, dass Sie wenig gegen authentifizierte Verbindungen auf einer Sitzungsebene tun können.

Anmeldeinformationen Caching

IE wird die Anmeldeinformationen zwischen einem Benutzer für eine Netzwerkanmeldung an eine bestimmte Site für die Dauer der IE -Sitzung eingreift. Selbst wenn Sie es geschafft haben, die vorhandenen authentifizierten Verbindungen zu schließen, wird dh die zwischengespeicherten Anmeldeinformationen einfach wiederverwendet, um einen nachfolgenden Authentifizierungshandshake leise zu vervollständigen. Es kann möglich sein, den Client nicht so zu konfigurieren, dass Sie dies nicht tun können, aber ich bezweifle, dass Sie das verwenden können.

Fazit

Die Antwort auf (zumindest die Frage, die ich wahrnehme, die Sie stellen, lautet: Nein, Sie können nicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top