Je dois savoir si l'utilisateur est en ligne ou pas, pas l'utilisateur authentifié actuel, mais tout autre. Restful_authentication a-t-il des méthodes pour le déterminer?Comment déterminer si un certain utilisateur (pas current_user) est en ligne dans restful_authentication?
0
A
Répondre
2
La seule façon de savoir si quelqu'un est en ligne (et de voir votre site) est d'avoir une connexion ouverte avec elle. Mais, après le chargement d'une page, la connexion HTTP à votre serveur est fermée et le client ne parle plus à votre serveur jusqu'à ce qu'il veuille voir une autre page.
Donné ce, vous pouvez effectuer les opérations suivantes:
- Devinez si le client est-il encore en supposant qu'elle est « en ligne » pour x minutes après qu'elle a demandé une dernière page.
- Demandez au client d'envoyer un « battement de coeur » à votre serveur à intervalles réguliers en utilisant Javascript, puis appliquez 1.
- ont fait le client à maintenir une connexion permanente à votre serveur en utilisant quelque chose comme Comet, qui vous donnera le plus précis résultat.
Ce qui est le plus approprié dépend de la précision dont vous avez besoin.
0
Si vos utilisateurs se connectent alors vous pouvez ajouter une colonne à vos utilisateurs table comme
rails g migration add_online_to_users online:boolean
et chaque fois qu'un utilisateur démarre une nouvelle session, vous pouvez remplir cette colonne avec « true »
user.online = true
et lorsque l'utilisateur se déconnecte, vous pouvez mettre
user.online = false
dans vos sessions méthode destroy
Comment saurez-vous quand ils cesseront d'être en ligne? –
Quelle est votre définition de «est en ligne»? – jdl