3 Stimmen

Rails 3, protect_from_forgery und IE8 Probleme

Ich habe eine Rails-App, die für mich in allen Browsern (Safari, Firefox, IE6, 7, 8 usw.) gut funktioniert.

Ich habe einen neuen Benutzer, der eine ziemlich gesperrte Version von IE8 hat, und sobald er versucht, auf die App zuzugreifen, bevor er überhaupt auf die Anmeldeseite gelangt, wird eine Aufforderung zur Windows-Authentifizierung angezeigt. Wenn sie versuchen, die Anmeldedaten, die sie erhalten haben, einzugeben, schlägt dies fehl. Ich bin nicht wirklich besorgt, dass es fehlschlägt, da die Authentifizierungsaufforderung nicht erscheinen sollte.

Sobald ich protect_from_forgery aus dem ApplicationController entferne, können sie problemlos auf das System zugreifen.

Ich habe versucht, Cookies usw. zuzulassen, aber das Problem tritt immer noch auf. Hat jemand einen Vorschlag, was wir sonst noch tun könnten?

Nur um dies zu ergänzen. Die Website verwendet ein Subdomain-System im Stil von Basecamp. Nicht sicher, ob das ein Problem ist oder nicht.

1voto

HakonB Punkte 6787

Welche Version von Rails verwenden Sie? Welches Authentifizierungs-Framework verwenden Sie?

Ich hatte das gleiche Verhalten mit Rails 3.0.3 und einer früheren Version von Devise. Das Problem, das ich hatte, war, dass IE8 unter bestimmten Umständen beschließt, 'Accept-Type: */*' im HTTP-Header zu senden, anstatt eine lange Zeile mit unterstützten Formaten. Irgendwo in Rails/Devise rutschte etwas durch und ein HTTP-Authentifizierungsstatus wurde zurückgesendet.

Ich habe mein Problem gelöst, indem ich auf Rails 3.0.5 und Devise 1.2.rc2 aktualisiert habe.

0voto

Brian Deterling Punkte 13329

Für den Fall, dass jemand anderes noch Probleme damit hat, ich benutze Rails 3.0.9 und Devise 1.2.1 und hatte immer noch dieses Problem. Mein Problem war, dass der IE keine Cookies für Subdomains mit einem Unterstrich darin setzt. Siehe diese Antwort für die Einzelheiten. Ich habe also meine Subdomains auf Bindestriche umgestellt, und jetzt funktioniert es.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X