2017-04-11 4 views
0

Ich benutze Devise, und ich möchte erkennen, ob der Benutzer sich von einem anderen Gerät aus anmeldet. (Ich möchte die zweite Sitzung nicht einschränken, damit die sichere Erweiterung nicht funktioniert).Rails erkennen, ob der Benutzer sich von mehreren Geräten aus anmeldet

Also die Frage ist - wie zu erkennen, ob Benutzeranmeldung von mehreren Geräten gleichzeitig.

+0

Sie müssten den Sitzungs-Controller ändern, um Logins in einer separaten Tabelle zu speichern und sie anhand der IP- oder MAC-Adresse zu identifizieren und die Benutzer-ID zu speichern. Sie können dann die "Logins" durch Abfragen der Tabelle erhalten. – max

+0

html Anfrage haben keine Mac-Adresse (so dass Sie es nicht von user_agent erhalten) –

+0

Und IP kann geändert werden, wenn Benutzer von Cafe, Arbeit oder zu Hause (oder Handy) einloggen. Also diese Methode wird mehr Fehler zurückgeben als, es wird –

Antwort

0

Sie können das Gerät mit fingerprintjs2 erkennen. Wenn der Benutzer sich anmeldet, speichern Sie den Fingerabdruck in der Sitzung und fragen Sie den Sitzungsspeicher ab, wenn sich der Benutzer auf einem neuen Gerät befindet oder nicht.

+0

Wir speichern unsere Sitzungen auf der Serverseite. Der Zweck besteht darin, zwei Anmeldungen von einem Konto gleichzeitig zu erfassen und E-Mails zu senden, wenn sich der Benutzer zweimal oder mehrmals vom selben Konto anmeldet. –

+0

Was ist der aktuelle Sitzungsspeicher? Ein DB-Speicher oder ein Cache-Speicher wie Redis? –

+0

Was geschieht auch, wenn ein Benutzer seine Cookies löscht oder den Browser schließt, ohne sich abzumelden? Sollten sie immer noch dieselbe E-Mail erhalten? –

Verwandte Themen