Authentification IIS Express Windows

J'essaie D'utiliser IIS Express avec VS2010 pour héberger une application silverlight. J'ai modifié mon applicationhost.fichier de configuration pour permettre la modification des paramètres de configuration adéquats. J'ai ce qui suit dans mon web.configuration:

<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. J'ai pu faire fonctionner cela après l'installation de VS2010 SP1 BETA mais j'essaie de faire fonctionner cela avec seulement IIS Express.

Comment activer Authentification Windows pour fonctionner avec IIS Express. Est-il un paramètre de configuration qui me manque?

239

8 réponses

Option-1:

Éditez le fichier \My Documents\IISExpress\config\applicationhost.config et activez windowsAuthentication, c'est-à-dire:

<system.webServer>
...
  <security>
...
    <authentication>
      <windowsAuthentication enabled="true" />
    </authentication>
...
  </security>
...
</system.webServer>

Option-2:

Déverrouiller la section windowsAuthentication dans \ Mes Documents \ IISExpress \ config \ applicationhost.config comme suit

<add name="WindowsAuthenticationModule" lockItem="false" />

Modifier les paramètres de remplacement des types d'authentification requis pour'autoriser'

<sectionGroup name="security">
    ...
    <sectionGroup name="system.webServer">
        ...
        <sectionGroup name="authentication">
            <section name="anonymousAuthentication" overrideModeDefault="Allow" />
            ...
            <section name="windowsAuthentication" overrideModeDefault="Allow" />
    </sectionGroup>
</sectionGroup>

Ajouter suivant dans le web de l'application.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
      <security>
        <authentication>
          <windowsAuthentication enabled="true" />
        </authentication>
      </security>
    </system.webServer>
</configuration>

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, l'application de l'option 1 + 2 peut être nécessaire pour que l'authentification windows fonctionne. En outre, vous devrez peut-être définir l'authentification anonyme sur false dans IIS Express applicationhost.configuration:

<authentication>

            <anonymousAuthentication enabled="false" userName="" />

Pour VS2015, le fichier de configuration IIS Express applicationhost peut être situé 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.

267
répondu vikomall 2016-03-17 15:44:19

Visual Studio 2010 SP1 et 2012 ont ajouté la prise en charge D'IIS Express, éliminant ainsi la nécessité de modifier les équerres.

  1. si ce n'est déjà fait, cliquez avec le bouton droit sur un projet à saveur web et sélectionnez "Utiliser IIS Express...".
  2. Une fois terminé, sélectionnez le projet web et appuyez sur F4 pour focaliser le panneau Propriétés.
  3. Définissez la propriété" authentification Windows "sur Activé, et la propriété" authentification anonyme " sur Désactivé.

entrez la description de l'image ici

Je crois cela la solution est supérieure aux options de vikomall.

  • L'Option # 1 est un changement global pour tous les sites IIS Express.
  • L'Option # 2 laisse le développement cruft dans le web.config.
    • en outre, cela entraînera probablement une erreur lors du déploiement sur IIS 7.5, sauf si vous suivez la procédure de "déverrouillage" sur applicationHost de votre serveur IIS.config.

La solution basée sur L'interface utilisateur ci-dessus utilise des éléments d'emplacement spécifiques au site dans applicationHost D'IIS Express.config laissant l'application intacte.

Plus d'informations ici: http://msdn.microsoft.com/en-us/magazine/hh288080.aspx

395
répondu roryWoods 2013-08-19 15:22:25

En S'appuyant 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 windows - > Services D'information Internet -> Services World Wide Web - > Sécurité

En outre, il semble y avoir une grande différence lors de l'utilisation de firefox ou internet explorer. Après avoir activé l '"authentification windows" cela fonctionne pour moi mais seulement dans IE.

9
répondu bees73 2011-04-21 09:45:27

En plus de ces excellentes réponses, dans le contexte D'un environnement de développement IISExpress, et afin de contrecarrer l'infâme "système".web / identity@impersonate" erreur, vous pouvez simplement vous assurer que le paramètre suivant est en place dans votre applicationhost.fichier de configuration.

<configuration>
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
    </system.webServer>
</configuration>

Cela vous permettra plus de flexibilité pendant le développement et les tests, mais assurez-vous de comprendre les implications de l'utilisation de ce paramètre dans un environnement de production avant de le faire.

Utile Messages:

5
répondu Chiramisu 2013-08-20 18:08:57

Dans IIS Manager, cliquez sur votre site. Vous devez être " en vue de fonctionnalité "(plutôt que"vue de contenu")

Dans la section IIS de "feature view", choisissez la fonctionnalité dite "authentification" et doulbe cliquez dessus. Ici, vous pouvez activer L'authentification Windows. Ceci 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 que vous avez une toile.config vous ne voulez pas trop scrue avec. Alors ce fil ne serait pas trop de l'aide, c'est pourquoi j'ai ajouté cette réponse.

2
répondu 2014-03-27 11:32:44

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'y a pas de tel fichier sur votre site).

Ajoutez les deux lignes suivantes à la section appSettingsde Web.config de votre site.

<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>
0
répondu Theophilus 2016-02-22 17:29:41

Sur la même note - VS 2015, .vs \ config \ applicationhost.config non visible ou non disponible.

Par défaut .le dossier vs est caché (au moins dans mon cas).

Si vous n'êtes pas en mesure de trouver la .dossier vs, suivez les étapes ci-dessous.

  1. faites un clic droit sur le dossier de la Solution
  2. sélectionnez 'Propriétés'
  3. dans la section Attributes, cochez la case Hidden (décochée par défaut),
  4. Cliquez ensuite sur le bouton "Appliquer"
  5. il apparaîtra fenêtre de confirmation ' appliquer modifications apportées à ce dossier, sous-dossier et fichiers 'option sélectionnée, appuyez sur 'Ok'.

    Répétez les étapes 1 à 5, sauf sur step 3, Cette fois vous devez uncheck l'option 'cachée' que vous avez cochée précédemment.

Maintenant devrait être en mesure de voir .vs dossier.

0
répondu SatheeshN 2016-07-13 21:15:04

Après avoir tout fait dans les réponses ci-dessus, j'ai compris que je n'exécutais pas Visual Studio en tant Qu'administrateur. Après avoir exécuté en tant Qu'administrateur, Problème résolu.

0
répondu Alisson 2016-07-19 14:16:50