Utilisateurs en ligne / Online users

magikbanana Messages postés 17 Date d'inscription vendredi 3 février 2006 Statut Membre Dernière intervention 8 août 2008 - 28 sept. 2007 à 17:37
magikbanana Messages postés 17 Date d'inscription vendredi 3 février 2006 Statut Membre Dernière intervention 8 août 2008 - 30 sept. 2007 à 15:29
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

cs_Yxion Messages postés 219 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 septembre 2009
29 sept. 2007 à 10:36
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
0
magikbanana Messages postés 17 Date d'inscription vendredi 3 février 2006 Statut Membre Dernière intervention 8 août 2008
29 sept. 2007 à 12:43
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 :)
0
cs_Yxion Messages postés 219 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 septembre 2009
29 sept. 2007 à 15:31
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
0
cs_Yxion Messages postés 219 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 septembre 2009
29 sept. 2007 à 15:33
NB : Le login se présentera sous la forme : NOM_DE_DOMAINE_ACTIVE_DIRECTORY\LOGIN

<hr />I love .net
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Yxion Messages postés 219 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 septembre 2009
29 sept. 2007 à 15:37
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
0
magikbanana Messages postés 17 Date d'inscription vendredi 3 février 2006 Statut Membre Dernière intervention 8 août 2008
30 sept. 2007 à 15:29
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 !
0
Rejoignez-nous