Utilisateurs en ligne / Online users

Signaler
Messages postés
17
Date d'inscription
vendredi 3 février 2006
Statut
Membre
Dernière intervention
8 août 2008
-
Messages postés
17
Date d'inscription
vendredi 3 février 2006
Statut
Membre
Dernière intervention
8 août 2008
-
Bonjour,

(Pour préciser c'est en Asp.NET/C#)
Voilà le problème, je veux reconnaitre les utilisateurs avec leur nom de session Windows et ça je sais faire.
Par contre est-ce qu'il y a un moyen d'avoir leurs droits ? par exemple pour savoir si un utilisateur a les droits administrateur, je suppose que non mais comme je n'en suis pas sûr et que je ne trouve pas.

Ensuite et c'est ma question principale, comment faire pour savoir quels utilisateurs sont loggés et surtout combien sont-ils. J'ai trouvé quelques solutions à ce sujet mais ça fonctionne vraiment mal.

Et pour stocker des informations supplémentaires sur ces utilisateurs (pour savoir qui a des droits administrateur), y a-t-il un moyen prévu ou bien je dois gérer une petite base d'utilisateurs dans ma DB ?

Toute aide me sera très utile et je vous remercie d'avance :)

6 réponses

Messages postés
219
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
7 septembre 2009

Je pense que tu devrais regarder sur le mode d'authentification dans le fichier de config :
  
Avec ca, l'utilisateur n'a plus besoin de se loguer, il prends directement les infos de la session.
Après, je ne l'ai jamais utilisé, je l'ai juste testé pour savoir que ca marche, donc je ne pourrais pas t'aider pour ce qui est de la récupération des autorisations.
Pour les pages, utilises tous les composant de la catégorie Connexion.
Si c'est pour afficher ou masquer des infos sur une page par exemple, regardes du coté du controle LoginView.

<hr />I love .net
Messages postés
17
Date d'inscription
vendredi 3 février 2006
Statut
Membre
Dernière intervention
8 août 2008

Justement c'est ce que j'utilise pour récupérer le nom de l'utilisateur mais c'est le reste qui me pose un problème :)
Messages postés
219
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
7 septembre 2009

Et bien alors ils faut gerer les roles dans une classe héritant de "RoleProvider" fichier de code à placer dans le "App_code" pour IIS6 ou dans le meme répertoire pour IIS7. C'est une classe abstraite permettant de gerer les roles suivant le login(appellé username) mais ne reprenant pas les permitions attribuées via active directory. Mais à partir de de cette classe, rien n'empèche d'allez dans active directory pour récupérer les autorisations, choses que je n'ai jamais fait mais des classes gérant cela sont présentes dans le framework. Mais dans ce cadre la, je te conseille de placer tes utlisateurs dans un fichier xml ou base de données vu qu'il est rare que les roles attribués au niveau accès réseau correspondent au roles dans les applications et que implémenter un système récupérant les droits utilisateurs n'améliorera pas la simplicité de gestion des droits.

Une fois cette classe abstraite implémenté, il faut indiquer dans le fichier de config que tu utilises ton propre provider :
  <roleManager enabled="true" cacheRolesInCookie="true" defaultProvider="RoleUser">
   
    
   

  </roleManager>
Dans le <system.web>...

Mais peut être existe t-il une solution plus simple(RoleProvider demande d'implémenter une 10aine de méthode).

Personnellement, je ferais un système dans ce genre la :
Via l'autentification Windows, j'implémenterais une interface bloquant tous les nouveaux utilisateurs. L'utilisateur inconnu en base de données, mais autentifier dans active directory, devrait demander à l'administrateur de débloquer son accès en lui donnant un role propre à l'application.
Perso, je pense que c'est la meilleur maniere de procéder, ceci te permettant d'etre plus stricte au niveau des droits d'accès à ton application. L'implémentation d'un provider via RoleProvider te permet de gerer cela comme tu veux.

Maintenant, si plus simple existe, plus compliqué sera la gestion avancée...

<hr />I love .net
Messages postés
219
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
7 septembre 2009

NB : Le login se présentera sous la forme : NOM_DE_DOMAINE_ACTIVE_DIRECTORY\LOGIN

<hr />I love .net
Messages postés
219
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
7 septembre 2009

RE : RE :
la dedans :

Le name, tu mets ce que tu veux, ca te sert dans tes pages aspx, ils faut indiquer le gestionnaire de role par son nom.
Le type, c'est le nom de ta classe qui hérite de RoleProvider.... celle qui gere les autorisations.

<hr />I love .net
Messages postés
17
Date d'inscription
vendredi 3 février 2006
Statut
Membre
Dernière intervention
8 août 2008

Du coup ça confirme qu'il n'y a pas vraiment de solution comme je cherchais puisque ça revient sur une gestion des utilisateurs pour les droits.

Par contre pas d'idée pour avoir le nombre d'utilisateurs loggés ?

Merci !