Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Thomas Lebrun

Tout sur WPF, LINQ, C# et .NET en général !

Actualités

[WP7] Gestion de l’authentification sous Windows Phone 7

L’une des problématiques que l’on rencontre à l’heure actuelle lorsque l’on développe des applications Windows Phone 7 concerne la gestion de l’authentification. En effet, il s’avère que l’authentification NTLM n’est pas supporté du coup, on est obligé de trouvé une solution de contournement.

Une des solutions possibles consiste à injecter/ajouter, dans les entêtes de la requête qui est envoyé, des entêtes personnalisées. Et pour bien faire, plutôt que de le faire manuellement sur chaque appel du service WCF, on va passer par un petit MessageInpector WCF pour faire en sorte que cela soit fait automatiquement Smile

Pour créer son Message Inspector WCF, il faut implémenter l’interface IClientMessageInspector. Malheurement, cette interface n’est pas disponible dans Silverlight mais , il est possible de télécharger le sample suivant et de récupérer le projet nommé SilverlightMessageInspector pour disposer de là-dîte fonctionnalité au sein de son application (Silverlight / Windows Phone 7).

Une fois que cela est fait, il faut créer le service WCF, en activant la compatibilité ASP.NET et vérifier, dans les méthodes, si les entêtes reçues contiennent bien des login/mot de passe corrects (éventuellement, en s’assurant de cela avec une connexion à une base de données, etc.):

image

A présent, il est temps de créer, côté Windows Phone, le MessageInspector WCF qui va injecter, lors de chaque requête, les entêtes nécessaires (login/mot de passe):

image

Une fois cette étape terminée, il ne reste plus qu’à appeler le service, en utilisant notre nouveau MessageInspector:

image

Et le tour est joué Smile

 

Attention tout de même: avec cette technique, les entêtes sont passées en clair donc il est impératif d’utiliser une liaison sécurisée (SSL) pour éviter que quelqu’un n’intercepte les appels WCF et donc les crédentials.

 

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 :
Posted: mardi 30 novembre 2010 10:50 par Thomas LEBRUN

Commentaires

daniel a dit :

Très interessant.

Autre solution que SSL, encrypter les credentials et rajouter une date de validité du ticket pour éviter qu'il ne soit rejoué.

Cdlt,

Daniel

# décembre 1, 2010 15:38

Danuz a dit :

@Daniel : C'est exactement ce que je fais ! (plus simple que de mettre en place une architecture SSL ...)

# décembre 3, 2010 09:51

SteveB a dit :

j'imagine que MS va se réveiller et nous pondre les apis qui vont bien dans la MAJ de janvier (mais rien d'annoncée je crois?) !

# décembre 7, 2010 09:59
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- SharePoint 20XX: Script PowerShell pour exporter en CSV toutes les listes d’une ferme pour auditer le contenu avant migration par Blog Technique de Romelard Fabrice le 03-28-2017, 17:53

- Les pièges de l’installation de Visual Studio 2017 par Blog de Jérémy Jeanson le 03-24-2017, 13:05

- UWP or not UWP sur Visual Studio 2015 ? par Blog de Jérémy Jeanson le 03-08-2017, 19:12

- Désinstallation de .net Core RC1 Update 1 ou SDK de Core 1 Preview 2 par Blog de Jérémy Jeanson le 03-07-2017, 19:29

- Office 365: Ajouter un utilisateur ou groupe dans la liste des Site collection Administrator d’un site SharePoint Online via PowerShell et CSOM par Blog Technique de Romelard Fabrice le 02-24-2017, 18:52

- Office 365: Comment créer une document library qui utilise les ContentTypeHub avec PowerShell et CSOM par Blog Technique de Romelard Fabrice le 02-22-2017, 17:06

- [TFS] Supprimer en masse les dépendances à SQL Enterprise ou Developer avant de procéder à une migration par Blog de Jérémy Jeanson le 02-20-2017, 20:30

- Office 365: Attention au volume utilisé par les fichiers de Thèmes de SharePoint Online par Blog Technique de Romelard Fabrice le 02-07-2017, 18:19

- [SCVMM] Supprimer une machine bloquée par Blog de Jérémy Jeanson le 01-31-2017, 21:22

- Microsoft .Net Challenge 2017 par Le Blog (Vert) d'Arnaud JUND le 01-30-2017, 15:25