Comment configurer l’authentification basée sur les formulaires (FBA)

Cet article est adapté d’un blog, que je considère comme l’autorité suprême pour la configuration FBA, écrit par Chris Coulson,

Lisez l’autorité suprême ici pour 2016 et ici pour 2013

2010 – Voir les étapes 2013, assurez-vous que l’application Web 2010 utilise l’authentification basée sur les revendications, puis après tout c’est la même chose, vous ne pouvez pas utiliser une application Web classique.

Remarque: Avec cette méthode, vous n’avez pas besoin de modifier le web.configuration de l’administrateur central ou de l’une des applications web, présentes ou futures. Il vous suffit de modifier la machine.config et le web.configuration des services web d’application SecurityTokenServiceApplication.

Donc; c’est la méthode préférée. Il existe d’autres méthodes qui vous permettent de modifier le web de l’administrateur central.configuration, le web.configuration de chaque application web et de l’application de service de jeton de sécurité web.config; mais, qui veut aller à tous ces problèmes. Et à répéter pour chaque nouvelle application Web, pas moins. Je suis paresseux et je préférerais que le FBA soit une possibilité sur chaque application Web future et présente. Je deviens également très sommaire lorsque je pense à modifier le web d’administration central.donc, c’est pourquoi la méthode qui est énoncée en détail, sur le blog de Chris Coulson, est optimale.

Étapes de haut niveau

  • Créez la base de données en exécutant aspnet_regsql.exe trouvé à c:\windows\Microsoft.NET\Framework64\v4.0.30319 \
  • Effectuez des sauvegardes de tous les fichiers que vous êtes sur le point de modifier, par exemple la machine.configuration, le web.config de la SecurityTokenServiceApplication
  • Effectuez les modifications en prêtant une attention particulière aux sections dans lesquelles vous vous trouvez. Assurez-vous, lors de la modification de la section fournisseur d’adhésion et de la section fournisseur de rôles, de ne pas modifier la section fournisseur de profil
  • Mettre à jour le fournisseur d’authentification de l’application Web
  • Installer la solution FBAPack appropriée pour faciliter la gestion des utilisateurs
    • 2016 – https://www.visigo.com/products/sharepoint-fba-pack/download/
    • 2013 – accédez au site visigo pour la dernière version stable de ce téléchargement gratuit
    • 2010 – accédez au site visigo pour la dernière version stable de ce téléchargement gratuit
  • Connectez-vous avec Windows creds et ajoutez un utilisateur FBA, puis testez que les différents le travail du menu, et que vous pouvez vous connecter avec l’utilisateur FBA

Étapes plus détaillées

Créez la base de données en exécutant aspnet_regsql.exe

  • Connectez-vous à votre serveur SharePoint
  • Accédez à c:\windows\Microsoft.NET\Framework64\v4.0.30319 \
  • Exécutez aspnet_reqsql.exe en tant qu’administrateur

  • Après le ASP.NET L’assistant de configuration SQL s’ouvre, lisez les informations, puis cliquez sur Suivant, comme un patron!

  • Sur l’écran Sélectionner une option de configuration, utilisez la sélection par défaut de « Configurer SQL Server pour les services d’application » et cliquez sur Suivant, cliquez à nouveau dessus comme un patron!

  • Sur l’écran « Sélectionner le serveur et la base de données », entrez l’alias de votre serveur SQL, ou le nom du serveur SQL si dieu ne plaise vous n’avez pas utilisé d’alias lors de la configuration de la batterie de serveurs, et
  • acceptez le nom de base de données < par défaut >. Si vous modifiez le nom de la base de données, assurez-vous de mettre à jour le nom dans l’entrée de la machine.chaîne de connexion de configuration dans les étapes à venir. Cet article suppose que vous avez laissé le nom < par défaut > comme indiqué dans la capture d’écran suivante. Laisser le nom par défaut crée une base de données nommée aspnetdb.
  • Cliquez sur Suivant

Remarque: L’exemple ci-dessus a laissé le nom par défaut et a utilisé l’alias SQL < – cette dernière phrase a été prononcée dans « Nerd SharePoint » et traduite par « J’ai utilisé un alias SQL et la base de données est portable »

Après avoir cliqué sur suivant, l’écran suivant apparaît et vous devez cliquer sur suivant si vous êtes d’accord avec les informations. Cela ne fait pas de mal de le lire, car s’il y a une faute de frappe, c’est votre chance de le changer.

Ensuite, sur l’écran suivant, cliquez sur Terminer.

  • Connectez-vous à votre serveur SQL
  • Ouvrez le studio de gestion SQL Server (SSMS.exe) et attribuez votre compte de batterie de serveurs SharePoint, le compte de service qui exécute le pool d’applications de services partagés et de recherche et le(s) compte(s) de service de pool d’applications de contenu Web ou de site db_owner sur aspnetdb.

Remarque: si vous recevez une sorte d’erreur concernant l’impossibilité de vous connecter à l’instance SQL server, assurez-vous que les services pour SQL server et l’agent SQL server sont démarrés. Ne vous inquiétez pas pour le navigateur SQL Server

  • Cliquez sur le dossier de sécurité pour le développer
  • Cliquez sur le dossier de connexion pour le développer
  • Cliquez avec le bouton droit sur le ou les comptes d’utilisateur exécutant le pool d’applications security token service (vous pouvez le déterminer à partir d’inetmgr.exe sur votre serveur SharePoint)
  • cliquez sur propriétés
  • Cliquez sur Mappage des utilisateurs
  • Sélectionnez l’aspnetdb dans les utilisateurs mappés à cette fenêtre de connexion
  • Attribuez le dbo dans l’adhésion au rôle de base de données pour : quel que soit le compte avec lequel vous travaillez
  • cliquez sur Ok

Effectuez des sauvegardes de tous les fichiers que vous êtes sur le point de modifier, par exemple la machine.configuration, le web.configuration de l’application SecurityTokenServiceApplication

  • Accédez à C:\Windows\Microsoft.Net\Framework64\v4.0.30319\Config
  • effectuez une sauvegarde de la machine.config et enregistrez-le avec un.extension bak
  • Modifier la machine.config
  • Faites défiler jusqu’aux chaînes de connexion <>

La section chaînes de connexion ressemblera à l’image ci-dessus

  • ajoutez-y le code suivant
machine.partie de modification de configuration 1

1
< ajouter ConnectionString= »Serveur = SharePointSQL; Base de données= aspnetdb; Sécurité intégrée= true »name= » FBADB » />

Note: vous devrez peut-être modifier le nom du serveur SQL à partir de l’alias que j’utilisais. Vous n’avez peut-être pas d’alias en place et vous pouvez le déterminer en regardant cliconfg.EXE. Assurez-vous que la ligne de code qui se lit « Server=SharePointSQL….is mis à jour pour quel que soit votre nom de serveur, ou de préférence votre alias (par exemple « Server=SPAlias….ou « Server=MDCP15SQL or ou autre)

Une fois les chaînes de connexion mises à jour, cela ressemblera à ceci:

Trouvez la section < membres > < fournisseurs >, elle ressemblera à ceci

Note: Vous ajouterez une section au < membre > < fournisseurs > et au < Rôle > < Fournisseurs > pas les fournisseurs de profil

Assurez-vous de mettre à jour les sections correctes

  • Ajoutez ceci aux fournisseurs d’adhésion
machine.partie de configuration 2

1
2
3
4
5
6
7
8
9
10
11
12
13
14

< ajoutez name= »FBAMembershipProvider »
type= »Système.Web.Sécurité.SqlMembershipProvider, Système.Web, Version = 4.0.0.0, Culture = neutre, PublicKeyToken =b03f5f7f11d50a3a »
connectionStringName = »FBADB »
enablePasswordRetrieval= »false »
enablePasswordReset= »true »
requiresQuestionAndAnswer= »false « 
Nom de l’application= »/ »
requiresUniqueEmail = »true »
passwordFormat= »Haché »
maxInvalidPasswordAttempts= »5″
Longueur minimale du mot de passe requise= »7″
Minnonalphanumériquecaractères requis= »1″
Mot de Passeattemptfenêtre= »10″
Mot de Passtrengthregularexpression= » » />

  • Maintenant, ajoutez ceci aux fournisseurs de rôles
machine.configuration p3

1
2

< add name= »FBARoleProvider »connectionStringName= »FBADB » Nom d’application= »/ »
type = »Système.Web.Sécurité.SqlRoleProvider, Système.Web, Version = 4.0.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a » />

Le produit fini devrait ressembler à ceci

Notez que les modifications n’ont pas été apportées aux fournisseurs de profils. Attention à ça, c’est facile à manquer.

Ouvrez maintenant le site Web de l’application Security Token Service.configuration
  • Ouvrir le gestionnaire d’IIS (inetmgr.exe)
  • Développez sites
  • Développez SharePoint web services
  • Faites un clic droit sur SecurityTokenServiceApplication
  • cliquez sur Explorer
  • Prenez une copie du web.config en tant que sauvegarde et enregistrez-le avec un.extension de bak

  • Ajoutez ce qui suit juste au-dessus de la toute dernière balise de configuration de fermeture </configuration>
securitytokenserviceapp web.config

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

<system.web>
< adhésion>
< fournisseurs>
< ajoutez name= »FBAMembershipProvider »
type= »Système.Web.Sécurité.SqlMembershipProvider, Système.Web, Version = 4.0.0.0, Culture = neutre, PublicKeyToken =b03f5f7f11d50a3a »
connectionStringName = »FBADB »
enablePasswordRetrieval= »false »
enablePasswordReset= »true »
requiresQuestionAndAnswer= »false « 
Nom de l’application= »/ »
requiresUniqueEmail = »true »
passwordFormat= »Haché »
maxInvalidPasswordAttempts= »5″
Longueur minimale du mot de passe requise= »7″
Minnonalphanumériquecaractères requis= »1″
Mot de Passeattemptfenêtre= »10″
Mot de Passtrengthregularexpression= » » />
< / fournisseurs>
</ adhésion>
< Gestionnaire de rôles>
< fournisseurs>
< add name= »FBARoleProvider »connectionStringName= »FBADB » Nom d’application= »/ »
type = »Système.Web.Sécurité.SqlRoleProvider, Système.Pour plus d’informations, cliquez sur le lien suivant : » />
</ fournisseurs>
</ Gestionnaire de rôles>
</ système.web>

Lorsque vous avez terminé, cela devrait ressembler à ceci, mais il n’aura pas la tache jaune dessus.

Ok, maintenant que vous êtes prêt à faire fonctionner SharePoint avec ces modifications, assurez-vous de les faire sur tous les serveurs de la batterie si vous avez plus d’un serveur SharePoint. Pas nécessaire sur SQL. Ouvrez l’administration centrale juste pour vous assurer que vous n’avez pas anéanti votre ferme. Ouvrez quelques collections de sites qui se trouvent dans l’application Web qui appliqueront la FBA.

Vous pouvez réinitialiser IIS pour faire bonne mesure, mais cela ne devrait vraiment pas être nécessaire, car les modifications apportées à ces fichiers entraînent que cela se produise automatiquement, ou du moins cela devrait être le cas.

Mettez à jour le fournisseur d’authentification de l’application Web

  • Ouvrez l’administration centrale et accédez à gérer les applications Web
  • Si l’application Web n’est pas étendue à une autre zone et à l’aide de la double authentification, sélectionnez l’application Web et cliquez sur fournisseurs d’authentification dans le ruban. Sinon, étendez l’application Web, puis sur la zone étendue, définissez le FBA.

Pour définir le FBA, effectuez les opérations suivantes:

  • Allez dans Gérer les Applications Web
  • Sélectionnez l’application Web dans laquelle vous souhaitez configurer l’authentification basée sur les formulaires
  • Cliquez sur Fournisseurs d’authentification
  • Sélectionnez la Zone que vous souhaitez configurer, dans cet exemple, nous configurons la double authentification (Windows Intégré et FBA)

Une fois l’écran de configuration de zone ouvert,

  • faites défiler la page jusqu’à la section relative à FBA et ajoutez les noms que vous avez utilisés dans les sections Fournisseur d’adhésion et fournisseur de rôle du.modifications du fichier de configuration. Si vous n’avez pas modifié les noms des fournisseurs d’adhésion et de rôle dans les sections de code qui lisent <, ajoutez name= »FBAMembershipProvider »….et < ajouter name= »FBARoleProvider….. ensuite, vous pouvez utiliser ces noms, sinon utilisez aussi ce que vous les avez modifiés.

  • Vous allez cocher la case nommée Activer l’authentification basée sur les formulaires (FBA), puis entrer les noms que vous avez utilisés

  • Cliquez sur Enregistrer pour enregistrer les modifications

Maintenant, si vous essayez d’ouvrir une collection d’applications Web ou de sites, vous obtiendrez l’invite de connexion par défaut pour FBA, elle vous permettra de choisir entre une authentification intégrée à Windows ou basée sur des formulaires

Vous ne pouvez toujours pas utiliser FBA, même si vous le sélectionnez et essayez de l’utiliser, car il n’y a pas d’utilisateurs FBA dans aspnetdb pour le moment. Le pack FBA vous permettra d’ajouter des utilisateurs à la base de données. Le post de 2013 sur le blog de Chris Coulson pour SharePoint 2013 explique une autre méthode.

Solution Pack FBA

La solution Pack FBA vous permettra d’ajouter et de gérer des utilisateurs

Téléchargez la solution et déployez-la sur votre serveur SharePoint. Il est livré avec un script de déploiement vraiment génial qui vous permet de cibler une application Web ou l’ensemble de la batterie.

Après avoir enregistré la solution, en c:\deploy, par exemple, puis ouvrez un shell administratif SharePoint management et exécutez-le comme indiqué ci-dessous, si vous souhaitez qu’il soit déployé sur l’ensemble de la batterie

Si vous souhaitez qu’il soit déployé sur une application Web spécifique, au lieu de taper .\deploy.ps1, vous devez taper .\deploy.ps1 http://urlToThatSpecificWebApplication.Domain.com où domain.com est le suffixe de votre domaine et de votre domaine de premier niveau (par exemple sharepoint.local, springfield.local, bdbsa.org , ssa.gov , ou spt.local, ou whatevs)

Leave a Reply

Votre adresse e-mail ne sera pas publiée.