Wie man .NET Cookie-Pfad bestimmen
-
06-07-2019 - |
Frage
Ich schreibe eine .NET-Anwendung, die Cookies verwendet eine Login-Token zu speichern. Ich würde der Benutzer möchte in der Lage sein, in mehrere Anlagen dieser Anwendung auf demselben Server einzuloggen (sagen wir mal jacob.local/Devel
und jacob.local/Stable
), so möchte ich in geeigneter Weise die Path-Eigenschaft für die Cookies setzen. Ich verwende Request.ApplicationPath
zur Zeit aber leite in Schwierigkeiten, wenn der Benutzer der Seite mit einem anderen Fall besucht als das, was ich habe in IIS einrichten.
Zum Beispiel jacob.local/stable
der Benutzer besucht - das Pfad des Cookies wird /Stable
werden, die der Browser nicht zurück zu mir schickt, da sie nicht wissen können, dass IIS Groß- und Kleinschreibung ist
Muss ich die ganze Abfrage-String selbst analysieren auseinander, oder gibt es bereits eine Funktion, herauszufinden, was der Pfad der Anwendung ist?
Lösung
Der folgende Trick packt den Anwendungspfad mit dem Gehäuse an den in der URL der aktuellen Anforderung spezifiziert abgestimmt.
Request.Url.AbsolutePath.Remove(Request.ApplicationPath.Length)