J'essaie d'utiliser IIS Express avec VS2010 pour héberger une application silverlight. J'ai modifié mon fichier applicationhost.config pour permettre la modification des paramètres de configuration appropriés. J'ai le suivant dans mon web.config:
<location path="">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</location>
Je ne suis pas authentifié et mon appel de service de domaine renvoie un enregistrement nul en tant qu'utilisateur. Je pouvais le faire fonctionner après l’installation de la version bêta de VS2010 SP1, mais j’essaie de le faire fonctionner avec uniquement IIS Express.
Comment activer l'authentification Windows pour fonctionner avec IIS Express. Existe-t-il un paramètre de configuration qui me manque?
option-1 :
éditez le fichier \My Documents\IISExpress\config\applicationhost.config
et activez windowsAuthentication, c.-à-d.:
<system.webServer>
...
<security>
...
<authentication>
<windowsAuthentication enabled="true" />
</authentication>
...
</security>
...
</system.webServer>
option-2 :
Déverrouillez la section windowsAuthentication dans\Mes documents\IISExpress\config\applicationhost.config comme suit
<add name="WindowsAuthenticationModule" lockItem="false" />
Modifier les paramètres de remplacement pour les types d'authentification requis sur "Autoriser"
<sectionGroup name="security">
...
<sectionGroup name="system.webServer">
...
<sectionGroup name="authentication">
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
...
<section name="windowsAuthentication" overrideModeDefault="Allow" />
</sectionGroup>
</sectionGroup>
Ajouter ce qui suit dans le fichier web.config de l'application
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</configuration>
Le lien ci-dessous peut aider: http://learn.iis.net/page.aspx/376/delegating-configuration-to-webconfig-files/
Après l'installation de VS 2010 SP1, il peut être nécessaire d'appliquer les options 1 + 2 pour que l'authentification Windows fonctionne. En outre, vous devrez peut-être définir l'authentification anonyme sur false dans IIS Express applicationhost.config:
<authentication>
<anonymousAuthentication enabled="false" userName="" />
pour VS2015, le fichier de configuration IIS Express application peut être localisé ici:
$(solutionDir)\.vs\config\applicationhost.config
et l'option <UseGlobalApplicationHostFile>
dans le fichier de projet sélectionne le fichier de configuration par défaut ou spécifique à la solution.
Visual Studio 2010 SP1 et 2012 ont ajouté la prise en charge de IIS Express, éliminant ainsi la nécessité de modifier les chevrons.
Je crois que cette solution est supérieure aux options du vikomall.
La solution basée sur l'interface utilisateur ci-dessus utilise des éléments d'emplacement spécifiques au site dans IIS applicationHost.config de Express, laissant ainsi l'application intacte.
Plus d'informations ici: http://msdn.Microsoft.com/en-us/magazine/hh288080.aspx
En vous basant sur la réponse de booij boy, vérifiez si vous avez coché la fonctionnalité "Authentification Windows" dans Panneau de configuration -> Programmes -> Activer ou désactiver les fonctionnalités de Windows -> Internet Information Services -> Services World Wide Web -> Sécurité
En outre, il semble y avoir une grande différence lorsque vous utilisez Firefox ou Internet Explorer. Après avoir étiqueté "l'authentification Windows", cela fonctionne pour moi, mais uniquement dans IE.
En plus de ces bonnes réponses, dans le contexte d'un environnement de développement IISExpress et afin de contrecarrer l'erreur "system.web/identity@impersonate", vous pouvez simplement vous assurer que le paramètre suivant est en place dans votre fichier applicationhost.config. .
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
</configuration>
Cela vous permettra plus de flexibilité lors du développement et des tests, mais assurez-vous de bien comprendre les implications de l'utilisation de ce paramètre dans un environnement de production avant de le faire.
Messages utiles:
Dans IIS Manager, cliquez sur votre site. Vous devez être "en mode fonctionnalité" (plutôt que "contenu")
Dans la section IIS de la "vue des fonctionnalités", choisissez la "fonctionnalité" dite "authentification" et cliquez dessus. Ici, vous pouvez activer l'authentification Windows. Cela est également possible (par je pense dans l'une des suggestions dans le fil) par un paramètre dans le web.config (...)
Mais peut-être avez-vous un web.config avec lequel vous ne voulez pas trop scruter. Ensuite, ce fil ne serait pas trop d'aide, c'est pourquoi j'ai ajouté cette réponse.
Si aucune des réponses ne vous aide, vous devrez peut-être ajuster les propriétés du projet. Vérifiez cette autre réponse de StackOverflow pour savoir comment faire cela:
Cette réponse peut aider si: 1) votre site fonctionnait avec l'authentification Windows avant la mise à niveau vers Visual Studio 2015 et 2) et que votre site tente de charger /login.aspx
(même s'il n'existe aucun fichier de ce type sur votre site).
Ajoutez les deux lignes suivantes à la section appSettings
du Web.config
de votre site.
<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>
Après avoir tout fait dans les réponses ci-dessus, j'ai compris que je n'utilisais pas Visual Studio en tant qu'administrateur. Après avoir exécuté en tant qu'administrateur, le problème est résolu.
Par défaut, le dossier .vs est masqué (du moins dans mon cas).
Si vous ne parvenez pas à trouver le dossier .vs, suivez les étapes ci-dessous.
Attributes
, cochez la case Hidden
(non cochée par défaut),step 3
, vous devez cette fois uncheck
l'option 'Masqué' que vous avez précédemment cochée.Maintenant, devrait être en mesure de voir le dossier .vs.