2009-07-31 1 views
1

Ich arbeite mit der proprietären ASP.NET-App eines Clients, der ein PHP-Wiki zu einem Unterverzeichnis auf demselben Server hinzugefügt wurde. Die PHP-App authentifiziert sich gegen die Cookies, die von der .NET-App verwendet werden. Das alles funktioniert gut. Session-Zeitüberschreitung bei der ASP.NET-App nach dem Besuch der PHP-App auf demselben Server

Wenn Sie zu .NET App einloggen und dann besuchen Sie die PHP-Anwendung (Dokuwiki) und besuchen Sie dann eine beliebige Seite auf der .NET-Anwendung, meldet es, dass die Sitzung abgelaufen ist und fordert Sie eingeloggt zurück.

Beide Apps generieren Cookies, aber keiner von ihnen widerspricht dem Namen. Ich habe den Code in der PHP-App entfernt, der sich gegen das Cookie authentifiziert, um sicherzustellen, dass ich das Problem mit der PHP-Authentifizierung nicht verursacht habe, aber das Problem ist weiterhin aufgetreten.

Mit Ausnahme einiger Frontend-Dinge habe ich keine Kontrolle über das ASP.NET-Backend, aber ich habe eine stray .ASPX-Seite in einem Ordner erstellt, die die Authentifizierung erfolgreich erzwingt, wenn ein Benutzer sie besucht. Ich habe diese Seite in einem Klartext-Editor erstellt, nicht in Visual Studio, sodass hinter den Dateien kein Code generiert wurde. Wenn Sie diese Seite nach dem Besuch der PHP-App besuchen, wird die Sitzung nicht als abgelaufen gemeldet.

Meine Frage ist, dass ich versuche zuerst herauszufinden, was dieses Verhalten verursacht, und dann nach Optionen zu suchen, um es zu korrigieren. Entschuldigung für den Mangel an technischen Details - wie gesagt, ich habe nur begrenzten Zugriff auf die App des Kunden. Jede Hilfe wäre sehr willkommen und wenn weitere Informationen zur Fehlerbehebung benötigt werden, stelle ich Ihnen gerne das zur Verfügung, was ich kann.

Antwort

1

Ich rief den ursprünglichen Entwickler an, um dies zu beheben. Er löste dies, indem er vom SQL Server-basierten Sitzungsstatus zu "In Bearbeitung" wechselte. Das scheint sich darum gekümmert zu haben.

1

Ich hatte ähnliche Probleme mit klassischen ASP-Sites, die auf demselben Server wie ASP.NET-Sites ausgeführt werden.

Ich kann das Problem normalerweise beheben, indem ich 2 Anwendungspools unter IIS erstelle: einen für die ASP-Sites und einen für die ASP.NET-Sites.

Haben Sie Zugriff auf den IIS-Manager des Servers, oder können Sie jemanden kontaktieren, der das tut? Wenn dies der Fall ist, erstellen Sie zwei separate App-Pools: einen für PHP-Sites und einen für ASP.NET-Sites. Verschieben Sie dann jede Website in den entsprechenden App-Pool. Starten Sie IIS neu, wenn Sie können, und sehen Sie dann, ob sich etwas geändert hat.

Hoffe, das hilft!