401 non autorisé d'erreur de l'api web mvc authentification windows
Je suis 401 non autorisé d'erreur . Mon service web est écrite en mvc . dans IIS configuré pour utiliser l'authentification windows.
Ci-dessous capture d'écran de la fiddler
Lorsque je tape l'URL dans le navigateur, il me donne la fenêtre popup pour entrer le nom d'utilisateur et mot de passe.
Comment puis-je éviter la fenêtre popup?
Je suis à l'appel de cette api web à partir d'un autre service de fenêtre.
OriginalL'auteur GPK | 2013-08-07
Vous devez vous connecter pour publier un commentaire.
Je soupçonne que les deux services web peuvent être hébergés sur le même serveur. Dans ce cas, le problème peut être causé par le contrôle de bouclage. Afin de tester, d'essayer de référencement le service sans utiliser le nom de domaine pleinement qualifié et voir si cela fonctionne. Si c'est le cas, utilisez les étapes suivantes pour spécifier les noms d'hôte sur l'ordinateur local.
Méthode 1: utiliser des noms d'hôtes (méthode à privilégier si vous souhaitez l'authentification NTLM) (http://support.microsoft.com/kb/896861)
Pour spécifier le nom d'hôte qui sont mappés à l'adresse de bouclage et peut se connecter à des sites Web sur votre ordinateur, procédez comme suit:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
http://blogs.4ward.it/impersonation-issues-401-error-mvc-and-web-api-4-5/
**Édité à être dans la forme d'une réponse et d'inclure les étapes détaillées de liens référencés
OriginalL'auteur Jose
Si vous utilisez le client web, vous devez définir la Credientials. Comment faites-vous appel à l'api web le service windows?
OriginalL'auteur Todd Russell
Mes 2 cents: j'ai fait face à un scénario où nous avons été étonnées par HTTP 401 lors de la demande d'une image lors de l'application web a été déployé. Nous utilisons WiX que nos emballages et installer la solution.
Dans ce cas précis, l'image n'a pas été emballé par le programme d'installation et donc le chemin n'a ni exister sur le déploiement de l'instance.
On peut se demander pourquoi cela a jeté un 401 lorsqu'un 404 (pas trouvé) aurait pu s'attendre, ma compréhension est que, depuis notre chemin n'a pas été directement sous la racine, mais quelque chose comme racine/content/images/image.png, et j'ai fait une demande anonyme, j'ai eu un 401 (non autorisé) que je n'ai pas l'accès pour parcourir le répertoire. J'ai confirmé ce par l'ajout d'un en-tête d'Autorisation à ma demande et puis, comme prévu, j'ai reçu un 404.
OriginalL'auteur Sudhanshu Mishra
Vous pouvez spécifier le nom d'utilisateur et le mot de passe dans le cadre de l'URL:
Note: Juste parce que vous peut ne signifie pas que vous devrait. Alors que cela peut être une solution temporaire pour tester des choses, je ne voudrais pas suggérer de faire cela dans la production. Et dans les vieux jours, c'est comment nous avons procédé. Mais comme @DiskJunky, "Url sont facilement visibles à peu près n'importe quoi/n'importe qui" qui comprend l'historique de votre navigateur, les journaux du serveur, et peut-être pire.
J'imagine que c'est parce que mettre le mot de passe dans l'URL de sécurité est un non-non. Les url sont facilement visibles à peu près n'importe quoi/n'importe qui et de mettre le mot de passe y est...imprudent pour dire le moins.
OriginalL'auteur lc.
J'ai ajouté ci-dessous les lignes de configuration web pour résoudre le problème et cela a fonctionné.
où l'on doit ajouter ces lignes?
vous ne devriez pas idéalement mais il être ajouté à la
<system.webServer>
section de laWeb.config
tnx. J'ai trouvé mon problème dans le dossier d'autorisation dans windows. J'ai mis IUser de mon dossier et le problème est résolu.
Cette modification permet à tous les utilisateurs d'être autorisé avec succès; par conséquent, la désactivation de sécurité que vous essayez de mettre en œuvre. Si cela résout votre problème, que vous devriez être en utilisant 'Authentification Anonyme" au lieu de "l'Authentification Windows'.
OriginalL'auteur GPK