29 septembre 2009

INFOPATH : Champ Password

Vous avez pu être amené dans le cadre de l'utilisation d'Infopath à vouloir saisir un password dans un formulaire (credentials pour un web services, authentification,...).
Seulement le type de champ "Password" utilisé en asp et window form n'est pas présent sous InfoPath. Le password saisi sera donc affiché en clair à l'écran de l'utilisateur ...

Pourquoi?
Cela provient du fait qu'Infopath stocke les données présentes dans le formulaire au format xml.. Il est donc très facile d'aller obtenir le mot de passe d'un utilisateur en ouvrant le fichier xml.
D'ou le fait que les développeurs d'InfoPath n'ont pas jugés utile d'avoir un tel contrôle qui du coup ne garantit pas la sécurité des Informations.

Solution de contournement : Faites votre propre contrôle password!
Si malgré cela, vous souhaitez tout de même saisir un password dans un formulaire infopath, il existe une astuce consistant en utiliser les polices windings ou webdings au niveau du champ texte pour cacher le mot de passe saisi (il n'est pas souhaitable de taper son mdp en clair à l'écran).

Cette méthode sommaire fonctionne mais il faut faire attention au xml ensuite enregistré.
2 techniques sont utilisables:
  • Crypter le mot de passe enregistré selon un algorithme de cryptage (Personne ne pourra connaitre le password sans avoir la clé de cryptage).
  • Effacer ce mot de passe à la fermeture du formulaire (si ce mdp est à utiliser une seule fois).

2 commentaires:

  1. Y a -t- il une autre possibilité pour créer un formulaire avec un champ password?

    RépondreSupprimer
  2. Malheureusement non, les 2 seules solutions viables sont les 2 derniers points que j'ai développé.

    RépondreSupprimer