[Windows Seven] Comment utiliser l'authentification biométrique dans son application .NET ?
Une grande majorité des ordinateurs portables vendus actuellement dispose d’un grand nombre de fonctionnalités (lecteur de SmartCard, prise HDMI, etc.) qui sont, pour la plupart, souvent inutilisées.
Cependant, avec l’arrivée de Windows Seven, l’une de ces fonctionnalités prend tout son sens: l’authentification biométrique. En effet, jusqu’à maitenant, cette authentification devait passer par des logiciels tiers, la plupart du temps développés les constructeurs.
Fort heureusement, Windows Seven dispose d’une nouvelle API permettant de programmer/manipuler les lecteurs biométriques de votre ordinateur. Ainsi, il devient possible, avec un peu de PInvoke, de créer un petit wrapper de l’API managé.
Pour vous simplifier la vie, j’ai créé ce petit wrapper managé. Pour le moment, seule la méthode WinBioIdentifyWithCallback est implémentée (mais il est facilement possible de l’enrichir). Cette méthode permet de vérifier, de façon asynchrone, que l’utilisateur qui vient d’utiliser le lecteur biométrique est effectivement un utilisateur reconnu:
Dans le cas d’un utilisateur non reconnu, l’application reçoit un évènement indiquant la cause du problème:
Au niveau de l’utilisation, c’est tout ce qu’il y a de plus simple:
Il est à noter que ce wrapper repose sur 3 DLLs:
- Biometric.Wrapper.dll: Il s’agit de la DLL managée faisant appel aux méthodes non managées
- Interop.WinBio.dll: C’est la DLL qui contient la définition des méthodes non managées (autrement dit le code PInvoke). Plutôt que d’écrire moi-même ce code, j’ai préféré le générer automatiquement au moyen de l’outil PInvoker. C’est rapide, efficace et en cas de problèmes, l’auteur de l’outil est très réactif donc n’hésitez pas à y jeter un oeil !
- PInvoker.Marshal.dll: DLL générée par l’outil PInvoker et qui contient la définition des types utilisés dans Interop.WinBio.dll
Pour télécharger l’ensemble, c’est par ici: http://morpheus.developpez.com/blog/BiometricWrapper/BiometricWrapper.zip
A+
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :