[déplacé VB.NET -> ASP.NET] Savoir les utilisateurs connectés à un site

Signaler
Messages postés
10
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
18 novembre 2009
-
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
-
Salut,
j'ai besoin de faire une interface avec vb.net pour connaitre à tout moment les utilisateurs connectés à un site ainsi que la durée depuis connexion
des idées??
merci

15 réponses

Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
36
Salut,

Un site ? Quel site ? Quel language ? Comment sont gérés les utilisateurs ? Paramètres d'application ou base de données ?


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
10
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
18 novembre 2009

un extranet devellopé avec asp.net(vb) , dans la base de données(sqlserver) y'en a une table qui contient les login et mdp avec un champs pour la date de la derniére connexion et un autre pour connaitre l'état (connecté ou non) je voudrais qu'à chaque fois qu'un utilisateur se connecte l'état se met à l''état connécté ainsi qu'un timer qui enregistre la durée de connexion.
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
36
OK,

La c'est mieu

Donc si j'en crois ce que tu me dis, tu as de la chance... L'ASP.Net dispose d'un gestionnaire de membres (MembershipProvider) et d'un gestionnaire de Rôles (RolesProvider) toute les tables que tu peux voir dans cette base de données sont entièrement gérés par des classes natives de l'application ASP.Net, le plus simple pour toi, serait de développer un service Web mettant à disposition de ton programme, la liste des utilisateurs connectés, car la base sql elle même ne gère pas les événements de connexions/déconnexions.

Bien entendu si tu le désire tu peu sécuriser ce service web en passant par le protocole https et demander un mot de passe pour l'acceès à celui-ci.

As-tu accès au dit site, en question (peux-tu en modifier le code) ?


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
10
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
18 novembre 2009

oui je peut modifier le code
Pour le gestionnaire de membres et celui de rôle de l'ASP.NET je veux pas passer par cette solution car je doit recréer la table des utilisateurs sur la base de données de l'ASP et faire le lien entre ces deux tables
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
36
Heu... la ca diffère un peu de ce que tu me disait avant...

Bref quel est ton but précisément ???

Tu veux juste voir les utilisateurs connectés ou carrément les gérer via une application Winform ?

Tu sais que le plus simple reste encore de crée un formulaire aspx, avec un DataGrid puis un formview pour gérer les utilisateur (en passant par le membership...).

Après si vraiment tu veux faire ca en Winform, il faut faire très attention, c'est le membership qui gère la base de données, si tu la modifie à la main via une application Winform, le site peut se retrouvé planté...

A toi de voir, après si c'est juste pour voir les utilisateurs connectés (donc en ReadOnly) aucun risque, ouvre un projet Winform, Crée un DataSet, crée une nouvelle chaîne de connexion vers la base ASPNETDB.mdf de ton site et le tour est joué, t'as accès au tables, par contre les utilisateurs connectés sont mis à jour par le membership, c'est lui, lors du login d'un utilisateur, qui va modifier la valeur du champ IsConnected de la table pour l'utilisateur.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
10
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
18 novembre 2009

merci, mais tu m'a pas compris je veux garder la base sql existance et travailler sur la table des utilisateurs crée sur sql sans passer par le membership.
j'ai penser à garder la table sql et ajouter les tables d'ASP et mettre les mêmes données dans les deux mais ça posera bcp de pblme lors de l'ajout de nv utilisateur, en plus des pblme de cryptage ds la base de l'ASP et que les mot de passe doivent être composés de chiffres et de lettres et un caractère spécial...
en gros, comment je peut détecter la déconnexion d'un utilisateur et le temps qu'il a passé connecté.
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
36
OK, OK,

Tu veux en gros, faire une copie de des tables utilisateur au sein de la même base ? C'est possible mais quelle est l'intérêt sutout que comme tu le dis, la mise a jour de la table pose des problèmes...

Si tu veux de l'aide il faut en dire plus, quel est ton but, a quoi va servir le logiciel en question ?

Car tu dis que tu veux détecter ces utilisateurs et en suite tu me dis que tu veux simplement savoir quels sont les utilisateurs connectés, c'est totalement différent, soit plus précis dans tes demandes.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
10
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
18 novembre 2009

Re,
je veux ajouter une page aspx dans l'application pour voir la liste de tous les personnes connectes à leurs session à un moment donné et la durée de connexion sans modifier quoi que ce soit
le problème que j'ai pas utilisé le membershipprovider dés le départ et je travaille avec la base de données sql.
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
36
Donc c'est pas une application Winform, c'est bien une page aspx ;o)

OK, la ce sera déja plus simple, par contre si tu ne travaille pas avec le membership comment gère-tu tes utilisateurs, tes sessions ? Qu'est ce qui te permet de faire une connexion et d'afficher des pages différente au utilisateurs non logué et ceux authentifiés ? Tu as du code .Net qui gère tes utilisateurs ? Et ta base de données est-toi qui en a défini le schéma ?

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
10
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
18 novembre 2009

je gère les utilisateur à travers du code .net en recupérant les information d'une table sql qui contient tous les utilisateurs, les mdp...
je défini les attributs de la variable session à l'authentification, la je récupère session("userid") ...ect
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
36
Tu n'as qu'a créer un tableau avec la liste des utilisateur connectés et l'afficher dans un DataGrid ?

Vu que tu as su gérer tous le code de connexion, ce ne devrait pas te poser de problème ?

Lors ce qu'un utilisateur se connecte => Ajout dans un tableau (ou dans une table de la base), puis lors de la fermeture de session (déconnexion) tu retrouve la ligne de l'utilisateur que tu supprime.

Question à laquel tu n'a pas répondu :

je gère les utilisateur à travers du code .net en recupérant les information d'une table sql qui contient tous les utilisateurs, les mdp...


Est-ce toi qui a défini cette table, ou est-ce celle créé par le membership par défaut via l'outil administration de site Web ASP.Net ?

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
10
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
18 novembre 2009

C'est moi qui a défini cette table


Tu n'as qu'a créer un tableau avec la liste des utilisateur connectés et l'afficher dans un DataGrid

mais comment je peut avoir cette liste des utilisateurs connectes, je peut savoir seulement les propriétes session et l'etat de connexion de l'utilisateur en cours

puis lors de la fermeture de session (déconnexion) tu retrouve la ligne de l'utilisateur que tu supprime.

le probléme ici est que l'utilisateur peut quitter le navigateur sans se déconnecter
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
36
mais comment je peut avoir cette liste des utilisateurs connectes, je peut savoir seulement les propriétes session et l'etat de connexion de l'utilisateur en cours


Mais la je comprend plus rien, t'as bien 2 textbox avec login/password ??? Ces textbox qui servent à la connexion, t'as bien du saisir du code pour que l'action de 'Connexion' (L'identification) se fasse ??? Alors ou est le problème ???

La je peu pas deviner a ta place, c'est ton code, c'est toi qui l'a fait à la main, sans le membership donc tu dois bien savoir à quel moment récupérer la connexion de l'utilisateur.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
10
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
18 novembre 2009

oui j'en ai bien un text box avec login/password et des variables session
mais je peut connaitre que les informations sur l'Utilisateur en cours or moi je veux connaitre tous les users connectés
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
36
Oui j'ai bien compris, en attendant, tu n'as pas utilisé le membership qui lui, justement est fait pour cela et c'est pour ca que tu galère : Lors ce qu'on construit une maison on ne le fais pas avec un couteau et une fourchette mais avec une gâche et du ciment...

Pour ce qui est de ton problème, lors du login des gens... tu récupère l'user en cours que tu place dans la base de données je ne vois toujours pas le problème ?

Si Paul se connecte => Ajout Paul, Table ConnectedUser
Si Jean se connecte => Ajout Jean, Table ConnectedUser

Pour ce qui est de la déconnexion tout dépend comment tu la gère ? Que se passe t-il si je vais sur ton site, que je ferme explorer et que je retourne sur ton site ? Je reste connecté ou bien je dois me ré-authentifier ? As-tu-utiliser les cookies ? As-tu un bouton déconnecter ?

Tu peux faire par exemple, comme je te l'ai dit plus haut (pour la connexion), puis supprimer l'user de la table lors du click sur ton bouton déconnecter, si l'utilisateur ne se déconnecte pas mais fermer sont navigateur, tu surprime l'utilisateur au bout de 30 Mn.

De toute façon je ne pense pas que tu réussisse vraiment à connaitre les utilisateurs en temps réel, car même le membership qui lui est 100% étudié pour, ne peux que donner une estimation des 30 dernières minutes...


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.