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

Bases de données Delphi Discussion :

Vérification utilisateur en fireBird


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 79
    Points : 58
    Points
    58
    Par défaut Vérification utilisateur en fireBird
    Bonjour;
    Comment vérifier est ce que le id utilisateur et le mot de passe sont valide ou non en fireBird avec fibplus ?
    merci de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    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 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    En première approche , j'aurais répondu : simplement en testant la connexion , si la connexion échoue alors le couple utilisateur/mot de passe est invalide .

    Maintenant s'il s'agit de savoir si l'utilisateur existe ... je propose l'utilisation de TpfibSecurityService et sa méthode DisplayUsers pour remplir une stringlist et faire une recherche à l'interieur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SecurityService1.Active := True;
    SecurityService1.DisplayUsers;
    for i := 0 to SecurityService1.UserInfoCount - 1 do
    begin
        Liste.Add(SecurityService1.UserInfo[i].UserName);
    end;
    SecurityService1.Active := False;
    if Liste.Indexof(Edit1.text)<0 then // utilisateur non trouvé
    ou bien la méthode DisplayUser(<nom>) mais je ne sais pas ce que cette dernière retourne si l'utilisateur n'existe pas
    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

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 79
    Points : 58
    Points
    58
    Par défaut
    bonjour;
    pour l'utilisateur ça marche mais je veut tester le mot de passe sans passer par le teste par connexion;
    merci

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    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 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Pour ça , je n'ai pas de solution . Le mot de passe est tellement bien crypté que même les développeurs de Firebird se disent incapable de le décrypter .
    La seule solution est bien une tentative de connexion personnellement je ne voit rien d'autre. Maintenant s'il n'y a pas de base ou si le chemin est incorrect .... le message d'erreur n'est pas le même donc ça doit être gérable

    [PS] les composants UIB me semblent plus adaptés pour le recherche de mot de passe . Je recherchais autre chose lorsque je suis tombé sur une gestion des utilisateurs dans les exemples (à voir ..)
    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

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 79
    Points : 58
    Points
    58
    Par défaut
    Bonjour;
    mais c'est le meme méssage s'il y a un problème de connexion.
    j'ais rencontrer un autre problème si vous pouvez m'aider:
    j'ai fait une requet sql dans pfibDataset (SELECT * FROM rdb$user_privileges)
    mais le résultat c'est deux utilisateurs:
    sysdba
    defaut
    malgrer que j'ai d'autres utilisateurs avec et sans privilege

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    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 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    les privilèges s'appliquent à une base de données les utilisateurs eux au serveur Firebird donc déjà ce n'est pas ainsi que tu obtiendras une liste des utilisateurs de plus tu trouveras aussi des roles dans rdb$priviliges (nota defaut ? c'est pas plutôt PUBLIC).

    par contre j'ai fais un essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT RDB$USER FROM rdb$user_privileges
    et j'ai bien un ensemble d'utilisateurs/roles selon ce qui est indiqué sur une base.La Base étant ouverte en tant que SYSDBA là aussi il y a peut être un piège comme pour l'interrogation de MON$ATTACHEMENTS visible dans son ensemble uniquement par le par le propriètaire ou le SYSDBA (à vérifier dans les notes de version)
    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

Discussions similaires

  1. Ajout d'un utilisateur sous firebird 2.5 (64 bits)
    Par Didier44 dans le forum Administration
    Réponses: 2
    Dernier message: 04/10/2011, 10h45
  2. Gestion des utilisateurs avec firebird 2.5
    Par Chayanne47 dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/12/2010, 16h26
  3. Gestion des droits utilisateur interbase/firebird
    Par Chayanne47 dans le forum Bases de données
    Réponses: 5
    Dernier message: 29/12/2009, 14h34
  4. Gestion des utilisateurs en firebird
    Par tarek_ep dans le forum Débuter
    Réponses: 1
    Dernier message: 14/07/2008, 18h55

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