Vous êtes invité à obtenir des informations d’identification lorsque vous ouvrez des documents de manière anonyme dans SharePoint Server 2016

S’applique à :

  • Microsoft SharePoint Server 2016
  • Windows Installer (MSI) d’applications Microsoft Office 2016 (ne s’applique pas aux applications Office 365))
  • Accès anonyme activé pour le site ou la bibliothèque SharePoint’accès anonyme
  • Accès anonyme Office documents
  • Accéder à Office documents à l’aide d’un compte différent de celui que vous avez utilisé pour vous y Windows

Symptômes

Lorsque vous ouvrez des documents dans SharePoint Server 2016 à l’aide de la version Windows Installer (MSI) des applications Office, vous êtes invité à obtenir des informations d’identification si les conditions de la section « S’applique à » sont remplies.

Pourquoi ce problème se produit-il ?

Office applications envoient un en-tête Authorization: Bearer pour la compatibilité avec SharePoint Online et OneDrive Entreprise. SharePoint Server 2016 envoie une invite d’authentification HTTP 401 en raison d’un problème dans la façon dont SharePoint Server 2016 en local gère les demandes qui ont l’en-tête Authorization: Bearer, ainsi qu’en raison de l’absence de l’en-tête X-IDCRL_ACCEPTED: t.

Comment contourner ce problème

Pour contourner ce problème, désactivez les demandes OPTIONS pour les applications web concernées, puis utilisez les règles de réécriture d’URL pour supprimer efficacement l’en-tête Authorization: Bearer des demandes HEAD. Seules les règles de réécriture d’URL SharePoint Server 2016 sont utilisées pour supprimer une valeur d’en-tête de demande. Pour plus d’informations, voir Prise en charge des réécritures et redirections dans SharePoint 2016, 2013, 2010 et 2007.

Pour implémenter cette solution de contournement, suivez ces étapes.

Étape 1 : Bloquer les demandes OPTIONS pour l’application web via Web.config

Pour bloquer les demandes OPTIONS, modifiez le Web.config de l’application web comme suit :

<system.webServer>
…
    <security>
      <requestFiltering allowDoubleEscaping="true">
            <verbs applyToWebDAV="false">
                       <remove verb="OPTIONS" />
               <add verb="OPTIONS" allowed="false" />
            </verbs>

Notes

Les demandes OPTIONS ne sont pas bloquées pour les demandes Web Distributed Authoring and Versioning (WebDav).

Étape 2 : Télécharger et installer l’extension de réécriture d’URL IIS

Téléchargez et installez l’extension de réécriture d’URL IIS sur SharePoint serveurs Web frontaux (WFE).

Étape 3 : Ajouter la variable HTTP_Authorization serveur à IIS

  1. Démarrez Internet Information Services (IIS), sélectionnez le serveur SharePoint dans le volet gauche, puis sélectionnez Réécrire l’URL dans le volet central.

  2. Dans le volet droit, sélectionnez Afficher les variables serveur.

  3. Pour ajouter une nouvelle variable de serveur, sélectionnez Ajouter.

  4. Tapez un nom de variable de serveur, tel que HTTP_Authorization, puis sélectionnez OK.

  5. Dans le volet droit, sélectionnez Retour aux règles.

  6. Vérifiez que la variable HTTP_Authorization serveur est ajoutée dans le fichier ApplicationHost.config, comme suit :

    <system.webServer>
    ….
         <rewrite>
             <allowedServerVariables>
                 <add name="HTTP_Authorization" />
             </allowedServerVariables>
         </rewrite>
    

Étape 4 : Ajouter une règle pour arrêter le traitement des règles de réécriture d’URL pour d’autres méthodes de demande

Vous pouvez ajouter une règle pour arrêter le traitement d’autres règles de réécriture d’URL si la méthode de requête n’est pas HEAD (modifier uniquement les demandes HEAD). Pour cela, procédez comme suit :

  1. Sélectionnez l’application web, puis sélectionnez Réécrire l’URL.

  2. Dans le volet droit, sélectionnez Ajouter une ou plusieurs règles pour ajouter une nouvelle règle.

  3. Tapez un nom de règle, tel qu’Authrule-HEADonly.

  4. Dans la section URL de correspondance, spécifiez les valeurs suivantes :

    1. URL demandée: correspond au modèle
    2. Using: Regular Expressions
    3. Modèle: ^(?!.*\.aspx).*$
    4. Ignorer l’option de cas : sélectionné
  5. Dans la section Conditions, sélectionnez Ajouter, puis spécifiez les valeurs suivantes :

    1. Entrée de condition: {REQUEST_METHOD}
    2. Vérifier si la chaîne d’entrée: ne correspond pas au modèle
    3. Modèle: HEAD
    4. Ignorer l’option de cas : sélectionné
  6. Modifiez la section Action comme suit :

    1. Type d’action: Aucun
    2. Arrêter le traitement de l’option règles suivantes : sélectionnée
    3. Dans le volet droit, sélectionnez Appliquer -> à des règles.

Notes

Assurez-vous que la règle est activée. Pour ce faire, recherchez l’option Désactiver la règle dans le volet droit. Cette option s’affiche une fois que vous avez sélectionné la règle.

Étape 5 : Ajouter une règle de réécriture d’URL pour supprimer l’en-tête Authorization: Bearer

Pour supprimer efficacement l’en-tête Authorization: Bearer pour les demandes, utilisez une règle de réécriture d’URL, comme suit :

  1. Sélectionnez l’application web, puis sélectionnez Réécrire l’URL.

  2. Dans le volet droit, sélectionnez Ajouter une ou plusieurs règles pour ajouter une nouvelle règle.

  3. Tapez un nom de règle, tel qu’Authrule.

  4. Dans la section URL de correspondance, spécifiez les valeurs suivantes :

    1. URL demandée: correspond au modèle
    2. Using: Regular Expressions
    3. Modèle: ^(?!.*\.aspx).*$
    4. Ignorer l’option de cas : sélectionné
  5. Dans la section Variable de serveur, sélectionnez Ajouter, spécifiez les valeurs suivantes, puis sélectionnez OK :

    1. Nom de la variable serveur : HTTP_Authorization
    2. Valeur: Aucun
    3. Remplacer l’option de valeur existante : sélectionnée
  6. Dans la section Action, spécifiez les valeurs suivantes

    1. Type d’action: Aucun
    2. Arrêter le traitement des règles suivantes : sélectionné
  7. Dans le volet droit, sélectionnez Appliquer -> à des règles.

Notes

Assurez-vous que la règle est activée. Pour ce faire, recherchez l’option Désactiver la règle dans le volet droit. Cette option s’affiche une fois que vous avez sélectionné la règle.

Résoudre ce problème dans la batterie SharePoint Server 2016

Répétez toutes les étapes de la section précédente sur chaque serveur web frontal SharePoint de la batterie pour vous assurer que tous les serveurs sont configurés de manière identique. Si vous avez déjà utilisé des règles de réécriture, les deux règles de la section précédente doivent être définies comme étant les deux dernières de la liste, car la règle HEAD désactive les règles suivantes.

En raison des limitations de l’extension de réécriture d’URL IIS, les règles ne peuvent actuellement pas être combinées de manière à ce qu’elles fonctionnent correctement. Cette situation peut changer dans une prochaine révision de l’extension ou une autre configuration peut être trouvée à l’avenir. Pour l’instant, ces méthodes sont la meilleure façon de résoudre ce problème à l’aide de la réécriture d’URL.

Informations supplémentaires

Encore besoin d’aide ? Accédez au site de la Communauté SharePoint.