IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Gestion de droits


Sujet :

ASP.NET

  1. #1
    Membre confirmé Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Points : 558
    Points
    558
    Par défaut Gestion de droits
    Bonjour à tous

    Une fois n'est pas coutume, c'est moi qui poste pour obtenir de l'aide, enfin surtout des conseils.

    Voici mon objectif : implémenter une gestion de privilèges assez fine dans un site ASP.NET.

    Attention, il n'est pas simplement question de configuration d'un Membership/Role provider et du web.config pour gérer l'accès à des pages web. Cela va plus loin.

    En effet, je part du principe qu'au minimum un utilisateur peut avoir 4 privilèges :
    - Lire/Visualiser
    - Créer
    - Editer/Modifier
    - Supprimer

    Mais à ces privilèges basiques viennent s'ajouter d'autres privilèges plus pointus. Par exemple un utilisateur pourrait avoir le droit de Modifier sans pour autant pouvoir tout modifier non plus.

    Prenons un exemple : une fiche client. Parmi les actions possibles on a bien Visualiser, Créer, Modifier, Supprimer. On a aussi : Résiliser, Bloquer/Débloquer, Relancer, etc... Ces trois dernières actions prennent la forme de boutons sur la fiche. On peut donc tout à fait avoir une situation où un utilisateur peut Visualiser une fiche et Bloquer/Débloquer le client.

    La problématique d'implémentation est : comment le faire efficacement ?

    Actuellement je m'oriente vers une gestion relativement naïve, du genre : dans le Page_Load je récupère les privilèges de l'utilisateur et, en fonction de ceux-ci, je rend Disponible/Visible les boutons. J'ai donc du code du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    btLock.Enabled = RightProvider.IsEnabled("Member.Lock") ou 
    btLock.Visible = RightProvider.IsVisible("Member.Lock")
    Ainsi pour l'utilisateur connecté et l'identifiant d'action (en l'occurence "Member.Lock") le système va retourner un booléen.

    Ce système fonctionne très bien mais j'ai l'impression que cela alourdit énormément le code. D'où mes questions :
    • est-ce là une bonne technique d'implémentation ?
    • y a-t-il une technique plus adéquate ?
    • existe-t-il quelque chose de déjà tout fait en ASP.NET ?


    J'ai cherché sur ce forum des conseils répondant à ma problématique sans succès pertinent.

    Merci pour vos conseils

    Cordialement
    Christophe B.

  2. #2
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    A mon sens la gestion de role d'asp.net permet de tout faire. Il faut démultiplier les roles ce qui va engendré un complexité importante pour les attribuer donc il faudra probablement réaliser des interface pour les gérer en créant des profiles.
    Après en utilisant une AD il y a moyen d'avoir une interface pour gérer cela...
    http://www.codeproject.com/Articles/...Roles-Provider

    Dans le code je pense qu'il faut rester une plus bas niveau avec IsInRole et utiliser un outils tiers ou un développement spécifique pour gérer ces nombreux role et les utilisateur.

  3. #3
    Membre confirmé Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Points : 558
    Points
    558
    Par défaut
    Si je comprends bien ta réponse, il faudrait que, par exemple, je crée un rôle "MemberLock" dont les membres pourraient bloquer un client et que je code un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    btLock.Enabled = User.IsInRole("MemberLock")
    Christophe B.

  4. #4
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    Oui tout simplement, après forcement il y a aura beaucoup de role à gérer sur les utilisateurs. Du coup un AD permet de simplifier cela avec les groupes mais sinon il faut développer des interfaces d'admin astucieuses (enfin avec un concept de groupe) pour pouvoir gérer tout ça.

  5. #5
    Membre confirmé Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Points : 558
    Points
    558
    Par défaut
    Merci pour ton aide
    Christophe B.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. gestion des droits d'accès : pg_hda.conf et autres
    Par Pigoulou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 12/02/2005, 07h57
  2. Idées pour une gestion de droits d'accès a des Forms ?
    Par sfxElrick dans le forum Composants VCL
    Réponses: 17
    Dernier message: 26/01/2005, 16h00
  3. Gestion des droits
    Par totop dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 22/01/2005, 09h49
  4. Gestion des droits d'accès
    Par soulryo dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 12/01/2005, 10h50
  5. Gestion De Droits Grant Revoke
    Par donde dans le forum Informix
    Réponses: 5
    Dernier message: 15/01/2003, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo