Ich möchte herausfinden, ob der Benutzer eingeloggt ist oder ob er nur anonym von javascript ist ...
Ich habe diese Frage gefunden, aber es ist PHP-Code und ich war nicht ' t Sicher, ob es eine Sitzungsvariable namens logged_in gibt, die bei der Anmeldung gespeichert wird oder ob das nur etwas war, das diese Person selbst implementiert hat.
Weiß jemand, wie ich überprüfen kann, ob der Benutzer von Javascript eingeloggt ist, möglicherweise mit Ajax?
Bearbeiten: Ich führe Asp.Net MVC aus, sollte eigentlich
angegeben haben Dies ist, damit ich eine clientseitige Ajax-Anmeldung implementieren kann. Wenn die Seite geladen wird, muss ich wissen, ob der Benutzer angemeldet ist oder nicht, also kann ich etwas Ähnliches wie <asp:LoggedInView>
control mit jquery implementieren.
Danke, Danke Matt
Sie können sitzungsgespeicherte Daten nicht aus JavaScript lesen.
Eine einfache Möglichkeit ist es, eine JS var von PHP zu erstellen (einfacher als Cookies), wie folgt:
%Vor% Dann prüft der JS einfach das native logged_in
var, um zu sehen, ob der Benutzer angemeldet ist.
[DISCLAIMER] Da ich so viele Kommentare von Leuten bekommen habe, dass dies eine "schlechte Praxis" ist, werde ich das einfach sagen: Es ist eine schlechte Übung, es so zu machen, aber wir wissen es nicht was das ursprüngliche Plakat vorhat. Nach allem, was wir wissen, hat er alles andere 100% richtig und sicher gemacht und fragte nur, ob es einen Weg gab, um von Javascript zu lernen. Was ich unten getan habe, ist meine beste Idee, um zu erreichen, was er verlangt hat. [/ DISCLAIMER]
Sie können Ihren PHP oder die von Ihnen verwendete Backend-Sprache einen Cookie setzen, den Sie dann mit Javascript lesen können.
%Vor%einfach so. Sie müssen die Cookie-Zeichenfolge nach dem Namen Ihres eingeloggten Cookies durchsuchen.
Sie können das auch verwenden, um ein Cookie zu setzen und Ihre Anmeldung über JavaScript durchzuführen (obwohl dies wahrscheinlich nicht die beste Idee ist).
Siehe hier , um einen schnellen Überblick über den Zugriff auf JavaScript-Cookies zu erhalten.
[Bearbeiten]
Um das Problem eines Client-Skripts zu behandeln, das Zugriff auf Sitzungsinformationen hat, und die mögliche Verwendung von Ajax, die in der ursprünglichen Frage vorgeschlagen wurde:
Ja, ein Ajax-Anruf wäre eine sehr einfache Möglichkeit, dies zu überprüfen. Ich bin eher ein jQuery-Typ, also liegt meine Ajax-Erfahrung dort, aber im Grunde würden Sie einen Ajax-Aufruf an Ihre Backend-Funktion machen, und diese Backend-Funktion prüft nur die 'eingeloggte' Session-Variable und gibt eine wahr oder falsch zurück.
Da Sie jetzt erwähnt haben, dass Sie jQuery verwenden, finden Sie diese Seite , um jQuery-Zugriff auf Cookies zu erleichtern. [/ edit]
Dies ist eine Lösung, die normalerweise mit serverseitigen Sprachen implementiert wird. Mit JS bist du zumindest könnte in seinem Client einen Cookie setzen, in dem diese Informationen gespeichert werden.
Aber mit Ajax sollten Sie eine Seite haben (z. B. check_login.jsp / .apsx usw.), wo Sie nachsehen können wenn der Benutzer angemeldet ist (Zugriff auf eine DB, eine Session-Variable usw.) und wenn ja, dann bringe diese Information zurück zu JS (via JSON) und zünde beispielsweise ein DIV mit einer grünen Farbe an ...
Also:
check_login.aspx
- & gt; gib die Information über Response.Write("{user_logged:true}");
Von login.aspx
in Ihrem HTML-Code mit JS haben Sie einen AJAX-Aufruf, bei dem Ihre xmlhttp
bereits eine Instanz von XMLHttpRequest
object ...
Es hat keinen Sinn. Wenn ein Benutzer angemeldet ist, kennen Sie ihn serverseitig. Sie müssen also nicht prüfen, ob Sie auf der Client-Seite eingeloggt sind.
- BEARBEITEN:
Nach Ihrer Klarstellung kann ich nur vorschlagen, auf dem Controller zu verifizieren, ob der Benutzer angemeldet ist. Wenn dies der Fall ist, werden Sie die normale Ansicht anzeigen, andernfalls werden Sie eine andere Ansicht anzeigen.
- BEARBEITEN hinzugefügt Aphorismus:
Manche Leute denken, wenn sie mit einem Problem konfrontiert werden: "Ich weiß, ich werde Ajax benutzen." Jetzt haben sie mindestens zwei Probleme
Tags und Links javascript session-variables authentication