2016-05-29 1 views
1

J'ai un site Web dans AngularJS. Et un backend qui est essentiellement réduit à une API RESTful. Login fonctionne actuellement liket this:
L'utilisateur fournit les identifiants de connexion -> envoyer au serveur -> Valider les informations et délivrer un jeton qui sera utilisé pour les demandes futures sur l'API.
L'API elle-même peut également être utilisée de manière anonyme.
Maintenant, je comprends que dans un environnement RESTful, je ne devrais pas utiliser Sessions, mais si je voulais montrer aux utilisateurs qui ont été en ligne dans les 15 dernières minutes? Comment déterminer si l'utilisateur qui était en ligne au cours des 15 dernières minutes était authentifié ou anonyme?
Je ne cherche pas exactement un exemple de code mais plutôt de la matière à réflexion.

MerciGestion des utilisateurs simultanés RESTful

Répondre

1

je vous suggère d'ajouter trop de champ à ce jour quelque chose comme entité utilisateur lastAccessDate et à chaque requête de l'API pour les utilisateurs de mettre à jour lastAccessDate à ce jour en cours (now()).

Pour obtenir tous les utilisateurs qui étaient actifs au cours des dernières 15 minutes, votre juste besoin de faire une requête dans votre DB avec état: now() - lastAccessDate < 15 minutes

Pour suivre les utilisateurs anonymes, vous devez ajouter une entité séparée guests, activities, shadow users, anonymous users pourrait sois un bon choix pour ce cas.

Cela vous at-il semblé utile?

+0

C'est à peu près ce que je fais en ce moment mais qu'en est-il des utilisateurs anonymes? –

+0

Si vous souhaitez également les suivre, vous devez également créer une sorte d'entité pour eux, par ex. 'shadow users', 'guests' ou peut-être une autre entité appelée' acitivities' et bien sûr 'des utilisateurs anonymes' le feront aussi :) – gevorg

+0

Bien que cela ne contienne pas exactement la solution, cela m'a mis sur la bonne voie malgré tout. Merci beaucoup gevorg :) –