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

 Delphi Discussion :

Application avec gestion utilisateurs et droit d'accès


Sujet :

Delphi

  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Août 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2015
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Application avec gestion utilisateurs et droit d'accès
    Bonjour a vous;
    tous d'abord je suis heureux de rejoindre la communauté developpez.net
    je commence tout juste une formation en conception de base de données ,et je fait mes premiers pas sous delphi 7 entreprise
    nous avons un projet de fin de semestre sur le quelle on sera noter ,
    mon projet c'est le développement d'une application de gestion des ventes ,je bute sur la gestion utilisateurs et droit d'accès
    a l'entré de l'application l'utilisateur est soumis a introduire un nom d'utilisateur et un mot de passe , ces information sont stocké dans une table paradox7 appeler Utilisateur.DB,cette table contient les infos suivantes:

    2
    Code User Pass Admin Edition Consultation
    1 Dupon lolo2 O O O
    2 Marie fleur24 N O O
    3 Pierre alpha N N O

    le O indique OUI
    le N indique NON

    Donc je veux pouvoir gérer les accès a mon application comme présenter dans le tableau ci dessus , si le User et passe sont juste ,les champs Admin ,Edition et Consultation sont vérifier par la suite afin de bloqué ou débloqué certaine fonctionnalité du programme avec un Enabled = true / false, le O et le N sont simplement une illustration ,si vous avez un exemple en booléen je suis preneur
    donc je suis bloqué a cette étape ,et je n'arrive pas a trouver de code source pour m'en inspiré , d'après se que j'ai cherché sa doit se faire avec des requêtes SQL ,mais bon je suis un peut perdu vu mon niveau, merci de bien m'orienter

    Ps :je sais que c'est bête de stocker ces informations dans une table paradox7 qui se déverrouille avec un simple "cupcdvum" mais comme je le disait en haut , je suis débutant et on nous a imposer le développement de notre projet sous paradox7

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    A quel moment tu bloques ?
    Sur l'écran de gestion de droits ?
    Sur l'écran de login ?

    Peux-tu nous fournir ta tentative de code ?
    Deux possibilités
    - un TTable, un locate sur User et Pass, ensuite suffit de lire les colonnes et c'est juste changer la propriété Enabled de quelques controles
    - un TQuery, un SELECT WHERE :User AND :Pass , ensuite la suite c'est pareil

    Sans code, difficile de comprendre où tu en es et de savoir ce qui te bloques !

    Pense que le forum est là pour aider et non pour faire à ta place !
    C'est la dernière ligne droite pour décrocher ton diplôme, fonces, investis-toi !
    le dormeur doit se réveiller !
    ton niveau, l'améliorer, tu dois !
    C'est en forgeant que l'on devient forgeron !

    Je crois que j'ai dépassé mon quota de diction et de référence cinématographique
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    ShaileTroll a exprimé ce que j'allais écrire ce matin , juste deux remarques

    1- utiliser une Query c'est bien mais, avec Paradox et au vu de la taille probable de la table, je pense que ce serait contre-productif (ce ne serait pas de même s'il s'agissait d'un SGBD et à ce propos je ne comprends pas pourquoi vos profs s'ingénient encore à vouloir vous faire utiliser BDE et Paradox

    2- pour la partie "binaire" un truc : remplacez les O/N par des 1/0 et vous obtenez


    1 Dupon lolo2 111 ->7
    2 Marie fleur24 011 ->3
    3 Pierre alpha 001 ->1

    à vous de conclure
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut
    Et sinon les mots de passe tu enregistre bien leur hash avec par exemple sha256 ?
    Parce que la dans ton exemple les mot de passe enregistré comme sa dans la base c'est interdit sa ! Il y en a qui se sont fait taper pour sa !
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  5. #5
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    C'est facile à faire, après le login tu testes si l'utilisateur n'est pas admin alors tu caches par exemple le bouton de suppression ou modification tu mets la propriété Visible à False ou bien la propriété Enabled à False .
    Pour la fiche des droits d’accès elle sera affiché qu'au admin et lui seul pourra activer ou désactiver les restrictions pour les utilisateurs, pour la fiche l'admin pourra créer un utilisateur et lui affecter les permissions par des CheckBox.

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2016
    Messages : 47
    Points : 4
    Points
    4
    Par défaut
    slut...... je comprend ce que vous voulez dire mais comment laisser l'application vérifié si c'est un admin ou user1 ou user 2 a fin d'activer ou desactiver l'option

  7. #7
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Autrement dit, comment une application reconnaît-elle quelqu'un de façon sûre ? Un couple login/password est sûrement la technique la plus simple, non ?
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mars 2018
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2018
    Messages : 59
    Points : 30
    Points
    30
    Par défaut
    Je vais sortir du contexte,
    question orienté à "ouiouioui"

    Stp une petite orientation sur hash concernant les mot de passe?
    ceci m’intéresse

  9. #9
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Tu as l'API Windows Crypto qui doit être wrappée sous delphi, ou un composant Indy qui offre toute une variété de hash en vue d'un stockage en toute sécurité, et à comparer au hash d'un mot de passe qui vient d'être saisi.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2016
    Messages : 47
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par bm1990 Voir le message
    C'est facile à faire, après le login tu testes si l'utilisateur n'est pas admin alors tu caches par exemple le bouton de suppression ou modification tu mets la propriété Visible à False ou bien la propriété Enabled à False .
    Pour la fiche des droits d’accès elle sera affiché qu'au admin et lui seul pourra activer ou désactiver les restrictions pour les utilisateurs, pour la fiche l'admin pourra créer un utilisateur et lui affecter les permissions par des CheckBox.
    slut...... je comprend ce que vous voulez dire mais comment laisser l'application vérifié si c'est un admin ou user1 ou user 2 a fin d'activer ou desactiver l'option

  11. #11
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    comment laisser l'application vérifié si c'est un admin ou user1 ou user 2
    Comment ton téléphone s'allume-t-il ? En demandant à celui qui veut s'en servir un code (PIN), et il présume que celui qui détient le téléphone et le bon code est l'utilisateur légitime.
    Idem pour une carte de paiement.

    Ces exemples ne sont pas directement transposables à un logiciel qui peut avoir plusieurs utilisateurs avec des droits différents.

    Par exemple, une session Windows ou Linux requiert de rentrer un nom utilisateur et un code.

    Pour différencier les niveaux d'autorisation, ton logiciel doit donc demander à l'ouverture un couple identifiant/mot de passe.
    Il vérifiera que la signature du mot de passe par un traitement donné est la même que celle stockée dans une base de données, un fichier ini, ou autre pour cet identifiant.
    Si le couple login/pwd est OK, le niveau de droits est lu et les différentes fonctionnalités de l'application activées en fonction.

    Il suffit donc d'avoir stocké quelque part dans l'équivalent d'une table utilisateurs la liste des logins (identifiants), hash des mots de passe et droits correspondants.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2016
    Messages : 47
    Points : 4
    Points
    4
    Par défaut
    je pense que vous n'avez pas compris ma question ...... je veux dire que est ce que le programme vérifie chaque fois le nom d'utilisateur et le mot de passe pour désactivé une option ............ et comment réalisé un bouton Déconnexion

  13. #13
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 419
    Points : 5 818
    Points
    5 818
    Par défaut
    salut

    pour avoir une gestion plus fine des droits d'utilisateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    table TblUtilisateur
    IdUser
    UserName 
    Login
    Mdp
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    table TblDroit
    IdDroit 
    Ajout
    Lecture
    Modifiaction 
    Suppression 
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Table TblModule 
    IdModule 
    ModuleName
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Table TblUtilise
    IdUtilise
    UserId
    UserDroit
    ModuleId
    ...
    en faisant une recherche par utilisateur et par module dans la table TblUtilise
    tu peut connaitre si l'utilisateur en question a le droit d'ajouter,modifier,supprimer des éléments de se module.

    comment connait tu l'utilisateur ? ... simple celui-ci s'est identifié avant toutes chose
    comme tu le fait sur ton téléphone mobile au moment ou tu rentre ton mots de passe c'est ton compte pré installé qui est identifier
    ton login étant ton numéro de téléphone.
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  14. #14
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Citation Envoyé par azzazzelleio Voir le message
    je pense que vous n'avez pas compris ma question ...... je veux dire que est ce que le programme vérifie chaque fois le nom d'utilisateur et le mot de passe pour désactivé une option ............ et comment réalisé un bouton Déconnexion
    Créer votre propre discussion avec une définition claire de votre problématique et avec le code que vous avez réussi à produire mais qui ne fonctionne pas !
    Vos questions ne sont pas claire, ne se termine pas par " ? ", il est donc difficile de répondre à votre galimatias
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  15. #15
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    Citation Envoyé par azzazzelleio Voir le message
    je pense que vous n'avez pas compris ma question ...... je veux dire que est ce que le programme vérifie chaque fois le nom d'utilisateur et le mot de passe pour désactivé une option ............ et comment réalisé un bouton Déconnexion
    c'est à toi de gérer tout ça comme bon te sembles ... étant un projet simple, le mieux est d'activer les options lors de la connexion : si l'utilisateur fait partie par exemple de la liste "admin" alors toutes les options sont dégrisées

    le bouton déconnexion ? bin c'est simple, toutes les options sont grisées, l'utilisateur n'est plus renseigné

    après comme il t'a été dit, il faut être plus claire, plus précis ...

Discussions similaires

  1. [MCD] Gestion de droits d'accès utilisateurs à une application
    Par coolkira dans le forum Schéma
    Réponses: 6
    Dernier message: 11/07/2012, 11h42
  2. utilisateur et droit d'accès
    Par The_Miagiste dans le forum ASP.NET
    Réponses: 3
    Dernier message: 17/06/2009, 11h17
  3. [Forum] Recherche forum avec gestion de droits d'accès
    Par rohel92 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 31/08/2007, 12h45
  4. Réponses: 6
    Dernier message: 18/05/2006, 14h11
  5. Gestion utilisateurs avec droits
    Par dr_look dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 27/04/2005, 16h03

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