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

Interfaces Graphiques Discussion :

Protection par password


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 32
    Par défaut Protection par password
    Salut tout le monde,

    J'aimerais bien savoir comment protéger un GUI sous MATLAB par un mot de passe.
    C'est comme mettre une clé de licence.

  2. #2
    Invité
    Invité(e)

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Une autre alternative en utilisant (encore une fois) Uicomponent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    function test
     
    figure('units','pixel','position',[100 100 300 200],...
        'menubar','none','toolbar','none',...
        'name','Login','numbertitle','off')
    movegui('center')
     
    up = uipanel(...
        'units','normalized',...
        'position',[.1 .1 .8 .8],...
        'fontname','arial',...
        'fontsize',12);
     
    y = .2;
    iy = (1-2*y)/3;
     
    uicontrol(up,'style','text','units','normalized',...
        'position',[.05 y+2*iy-0.03 .3 y],'string','User: ',...
        'fontname','arial','fontunits','points','fontsize',12,'hor','left')
    uicontrol(up,'style','text','units','normalized',...
        'position',[.05 iy-0.03 .3 y],'string','Password: ',...
        'fontname','arial','fontunits','points','fontsize',12,'hor','left')
     
    pop = uicontrol(up,'style','popup','units','normalized',...
        'position',[.4 y+2*iy .55 y],'string',{'aaaa' 'bbbbb' 'ccccc'},...
        'fontname','arial','fontunits','points','fontsize',12,'hor','left', ...
        'tag','popusers');
     
    pass = uicomponent(up,'style','JPasswordField', ...
        'tag','pass',...
        'units','normalized');
    set(pass,'position',[.4 iy .55 y],'KeyPressedCallback',@kpcb);
     
        function kpcb(obj,event)
     
            if event.getKeyCode==10
                checkpass
            elseif event.getKeyCode==27
                pass.Text = '';
            end
     
        end
     
        function checkpass
     
            str = get(pop,'string');
            str = cellstr(str);
     
            v = get(pop,'value');
     
            if strcmp(pass.Text,str{v})
                % Mot de passe correct
                close
            else 
                % Mot de passe incorrect
                pass.Text = '';
                beep
            end
     
        end
     
    end
    Le mot de passe est identique au nom d'utilisateur ici dans cet exemple.
    Il suffit d'appuyer sur la touche Entrée pour vérifier le mot de passe saisi.

    C'est portable et compilable sans soucis avec le MATLAB Compiler.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 86
    Par défaut
    Ton programme est génial mais comment peut on récupérer le nom de l'utilisateur qui se connecte car si on renvoie la variable v à travers les fonctions : 'checkpass' puis 'kpcb' Matlab nous informe que cette variable à plusieurs sessions... et impossible de récupérer cette variable dans le set qui gère le callback ...

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il te suffit d'utiliser le principe des fonctions imbriquées:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    function user = test
    
    figure('units','pixel','position',[100 100 300 200],...
        'menubar','none','toolbar','none',...
        'name','Login','numbertitle','off')
    movegui('center')
    
    up = uipanel(...
        'units','normalized',...
        'position',[.1 .1 .8 .8],...
        'fontname','arial',...
        'fontsize',12);
    
    y = .2;
    iy = (1-2*y)/3;
    
    uicontrol(up,'style','text','units','normalized',...
        'position',[.05 y+2*iy-0.03 .3 y],'string','User: ',...
        'fontname','arial','fontunits','points','fontsize',12,'hor','left')
    uicontrol(up,'style','text','units','normalized',...
        'position',[.05 iy-0.03 .3 y],'string','Password: ',...
        'fontname','arial','fontunits','points','fontsize',12,'hor','left')
    
    pop = uicontrol(up,'style','popup','units','normalized',...
        'position',[.4 y+2*iy .55 y],'string',{'aaaa' 'bbbbb' 'ccccc'},...
        'fontname','arial','fontunits','points','fontsize',12,'hor','left', ...
        'tag','popusers');
    
    pass = uicomponent(up,'style','JPasswordField', ...
        'tag','pass',...
        'units','normalized');
    set(pass,'position',[.4 iy .55 y],'KeyPressedCallback',@kpcb);
    
    user = [];
    uiwait
    
        function kpcb(obj,event)
            
            if event.getKeyCode==10
                checkpass
            elseif event.getKeyCode==27
                pass.Text = '';
            end
            
        end
    
        function checkpass
            
            str = get(pop,'string');
            str = cellstr(str);
            
            v = get(pop,'value');
         
            if strcmp(pass.Text,str{v})
                % Mot de passe correct
                user = str{v};
                close
            else 
                % Mot de passe incorrect
                pass.Text = '';
                beep
            end
            
        end
    
    end
    Utilisation:

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 86
    Par défaut
    Ha merci, je connaissais pas cette fonction ...

    Disons aussi que je n'ai jamais utilisé les fonctions imbriquées

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/06/2011, 19h28
  2. Protection par mot de passe
    Par BigZ444 dans le forum Delphi
    Réponses: 2
    Dernier message: 12/05/2006, 21h28
  3. Protection par .htaccess
    Par bagu dans le forum Apache
    Réponses: 4
    Dernier message: 03/04/2006, 16h38
  4. [Sécurité] Protection par .htaccess et .htpasswr
    Par agencep dans le forum Langage
    Réponses: 9
    Dernier message: 23/02/2006, 13h10
  5. Protection par blocage de répertoire?
    Par Madmac dans le forum Windows XP
    Réponses: 15
    Dernier message: 09/02/2006, 00h41

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