2012-04-04 13 views
0

Ich möchte Benutzer direkt von meiner Website zu öffnen (etwas lustig, aber das ist das Szenario).Überprüfung von welcher Seite ich auf meine Website in MVC .net weitergeleitet wird

Der Benutzer sollte zuerst zu einer anderen Site gehen, sich dort anmelden und nur dann dürfen sie nur von dieser Site auf meine Site umleiten.

Ich habe versucht, Request-Objekt in folgenden Methode zuzugreifen, aber es wird eine Ausnahme werfen:

protected void Application_Start() 
     { 
      AreaRegistration.RegisterAllAreas(); 
      RegisterRoutes(RouteTable.Routes); 
     } 

Meine Website ist in MVC2 C#

keine Sitzung gibt es auf meiner Seite anmelden

Vielen Dank im Voraus

Antwort

1

Sie können die referer dafür verwenden. Da dies jedoch eine http-Variable ist, ist es absolut nicht ausfallsicher. Es hängt vom Browser ab, ob es gesendet wird oder nicht, und es ist relativ einfach, mit einem Werkzeug wie Tamper Data zu ändern. Ich würde nicht empfehlen, je nach Referer für diesen Zweck.

Wenn Sie auch die andere Site verwalten, von der die Benutzer weitergeleitet werden, können Sie eine Art Hash generieren und diese mit der URL als Anforderungsparameter senden. Wenn der Hash korrekt ist, ist der Benutzer willkommen.

+0

Ich habe versucht, Request.UrlReferrer.AbsolutePath und Request.UrlReferrer aber es hat nur Anwendungsbereich es funktioniert nicht, wenn ich komme aus anderen Anwendung/URL –

+0

Wie gesagt, es ist abhängig vom Browser, ob es die enthält die sendet Referer oder nicht. Wenn ich eine neue HTML-Datei mit einem Link erstelle und sie von meinem lokalen Rechner ohne einen Server ausführe, ist der Referer nicht enthalten, aber wenn ich ihn auf einen Server lege, ist er es. Wenn Sie auf diese Weise testen, werden Sie es wahrscheinlich auch nicht sehen. Versuchen Sie, einen Link zu Ihrer Anwendung (localhost ist ok) unter http://www.jsfiddle.net oder etwas Ähnlichem zu erstellen, um auf einem Server schnell zu testen. –