J'ai un ASP.NET MVC 4 Projet à l'aide de l'API Web. Sur le contrôleur, j'ai mis la classe de sorte que l'autorisation à l'aide de l'attribut [Authorize]. Pour l'Authentification, je suis en utilisant le ASP.NET Fournisseur d'appartenances et de mon Web.Config de jeu à utiliser "les Formes de l'Authentification". C'est là que je suis bloqué:
Tout fonctionne très bien jusqu'au moment où j'en ai fini avec les essais de l'API, et je tiens à assurer le contrôleur avec l'attribut [Authorize] afin que je puisse commencer à faire des tests d'authentification à l'encontre des utilisateurs de mon Fournisseur d'appartenances. Donc j'ai le feu au Fiddler et de faire la même appeler l'ajout de l'Autorisation:Base de l'attribut avec un nom d'utilisateur:mot de passe de mon fournisseur d'appartenances comme suit:
La réponse que je reçois est 401 non autorisé et sous "Auth", j'obtiens "Non-Tête WWW-Authenticate est présent." Puis je me rends compte que l'API est à la recherche d'un SHA1 clé codée. Donc je lance un SHA1 générateur à partir d'une recherche et obtenir une valeur de hachage pour mon nom d'utilisateur:mot de passe et de mettre à jour mon en-Tête de Requête comme ceci:
Cela ne fonctionne pas non plus et j'obtiens les mêmes résultats. Aussi, j'ai évidemment besoin d'une sorte de "clé secrète partagée" à utiliser avec le serveur pour décoder mon nom d'utilisateur/mot de passe.
Donc mes questions:
- Comment puis-je obtenir cette clé à partir du serveur (ou dans ce cas-IIS Virtuel en cours d'exécution hors VS 2012).
- Comment puis-je l'utiliser pour faire des appels Authentifiés dans un violon à l'aide de noms d'utilisateur/mots de passe à partir d'un ASP.NET Fournisseur d'appartenances.
- Comment vais-je utiliser dans mon application client de faire les mêmes appels (C# WPF Application).
- Est-ce la meilleure pratique en la matière lorsqu'il est combiné avec SSL sur mon HTTP appels? Si non c'est quoi?
Merci à l'avance!