Configurer l’authentification basée sur les formulaires (FBA) avec SharePoint 2010
Extrait de http://blogs.technet.com/b/mahesm/
SharePoint 2010 prend en charge FBA, Comme WSS 3.0 ou MOSS 2007. C’est une fonctionnalité d’ASP .Net que nous utilisons avec SharePoint. SharePoint 2010 vous pouvez créer des applications Web à l’aide d’une authentification classique ou d’une authentification basée sur les revendications. Cependant, FBA ne peut être configuré qu’avec des applications Web créées à l’aide d’une authentification basée sur les revendications.
Quelles sont les différences entre l’authentification en Mode Classique et l’authentification basée sur les revendications ?
Authentification en mode classique : Il s’agit de l’authentification Windows intégrée. Vous ne pouvez pas configurer l’authentification basée sur les formulaires si votre application Web utilise l’authentification en mode Classique. Vous pouvez convertir une application Web de l’authentification en mode Classique à l’authentification basée sur les revendications. Cependant, cela ne peut être fait qu’en utilisant des commandes PowerShell et c’est un processus irréversible. J’ai des étapes détaillées pour convertir l’application Web de l’authentification en mode classique en authentification basée sur les revendications. Authentification basée sur les revendications
: SharePoint 2010 est construit sur Windows Identity Foundation. Il permet l’authentification à partir de systèmes Windows ainsi que de systèmes non basés sur Windows. Cela permet également d’avoir plusieurs authentifications dans une seule URL.
La configuration de FBA avec SharePoint 2010 implique 4 étapes principales. Les étapes pour configurer le FBA avec le fournisseur d’adhésion SQL sont ci-dessous:
I > Créer ou convertir des applications Web existantes pour utiliser l’authentification basée sur les revendications
II > Créer des ID utilisateur dans la base de données SQL
III > Modifier le web.fichier de configuration
IV > Donnez des autorisations aux utilisateurs présents dans la base de données SQL
Remarque: Si vous souhaitez configurer FBA avec le fournisseur d’adhésion LDAP, vous pouvez vous référer à l’article TechNet.
Veuillez trouver les étapes détaillées ci-dessous :
I > Créer ou convertir des applications Web existantes pour utiliser l’authentification basée sur les revendications
Remarque: – L’application Web doit être créée à partir de la console d’administration centrale ou de PowerShell, mais elle doit utiliser l’authentification basée sur les revendications.
A. Création d’une application web à l’aide de l’administration centrale
-
-
- Ouvrez la Console d’Administration Centrale.
- Cliquez sur Gérer l’application Web Sous Gestion des applications.
- Cliquez sur nouveau sur le ruban.
- A choisi l’authentification basée sur les revendications En haut de la page.
- Choisissez le numéro de port de l’application Web.
- Cliquez sur Activer l’Authentification Basée sur les Formulaires (FBA) Sous Types d’authentification des réclamations. L’authentification Windows est activée par défaut et si vous n’avez pas besoin d’authentification Windows, vous devez supprimer la case à cocher.
- Ajouter le Fournisseur d’adhésion & Nom du gestionnaire de rôles
- Dès que l’application Web a été créée, veuillez vérifier les paramètres du fournisseur d’authentification pour l’application Web. J’ai la capture d’écran ci-dessous:
-
Note:- Si vous souhaitez utiliser l’Authentification Windows et l’Authentification basée sur les formulaires dans une seule URL, vous devez sélectionner Activer l’authentification Windows et Activer l’authentification basée sur les formulaires.
Remarque: – Juste pour comprendre, j’utilise le fournisseur d’adhésion comme « SQL-MembershipProvider » et le gestionnaire de rôles comme « SQL-RoleManager ». Vous pouvez utiliser différents noms, mais vous devez vous souvenir du nom afin de pouvoir les référer sur le Web.fichiers de configuration. Ces noms sont sensibles à la casse.
B. Que se passe-t-il si vous avez déjà créé une application Web à l’aide de l’authentification en mode Classique ou Comment convertir une application Web de l’authentification en mode Classique en authentification basée sur les revendications ?
Vous n’avez pas à supprimer cette application Web. Vous pouvez convertir cette application Web de l’authentification en mode classique à l’authentification basée sur les revendications. Cependant, cela ne peut être fait qu’en utilisant PowerShell et c’est un processus irréversible. Suivez les commandes PowerShell pour convertir l’application Web de l’authentification en mode Classique à l’authentification basée sur les revendications:
$App = get-spwebapplication « URL »
appapp.useclaimsauthentication = »True »
appapp.Mise à jour()
Exemple: –
AppApp= get-spwebapplication « http://sp1:8000”
$ app.useclaimsauthentication = »True »
appapp.Update()
Une fois que l’application Web utilise l’authentification basée sur les revendications, vous pouvez créer une collection de sites. Maintenant, si vous accédez à l’application Web, vous pouvez accéder au site en choisissant l’authentification Windows ou l’authentification basée sur les formulaires, comme indiqué dans l’image ci-dessous.
Choisissez l’authentification Windows et connectez-vous au site. Lorsque vous vous connectez, vos informations d’identification actuellement connectées seront utilisées. Assurez-vous que le compte avec lequel vous êtes connecté a accès au site SharePoint; Sinon, vous obtiendrez une erreur de refus d’accès.
II > Configurez le Fournisseur d’adhésion et le Gestionnaire de rôles.
- Sur le serveur SharePoint 2010, ouvrez l’invite de commande.
- Accédez à C: WindowsMicrsooft.NetFramework64v2.0.50727
- Exécutez « aspnet_regsql.EXE ». Cela ouvrira l’assistant de configuration ASP .Net SQL Server. Sur ce, cliquez sur SUIVANT.
- Cliquez sur « Configurer SQL Server pour les services d’application ».
- Spécifiez le nom de la base de données. Si vous ne spécifiez pas le nom de la base de données, cela créera un appel de base de données aspnetdb.
- Utilisez l’outil membershipseeder pour créer les utilisateurs dans la base de données SQL. Vous pouvez trouver l’outil et les informations à ce sujet à partir de codeplex.
Remarque: – J’ai spécifié le nom de la base de données comme « SQL-Auth ».
III > Modifier le web.fichier de configuration pour le Fournisseur d’adhésion et le Gestionnaire de rôles.
Nous devons modifier 3 sites Web différents.fichiers de configuration pour que FBA fonctionne. Web.configuration de l’application Web FBA, web.configuration du Site d’Administration centrale & Web.configuration de STS.
A. Modifier le web.configuration de l’application web FBA.
- Ajouter une chaîne de connexion:
< Cordons de connexion>
< ajouter name= »SQLConnectionString »ConnectionString= »source de données= SQL; Sécurité intégrée= SSPI;Catalogue initial = Authentification SQL » />
</ connectionStrings >
La chaîne de connexion doit être ajoutée après </SharePoint > et avant le système <.web>
- Ajouter un fournisseur d’adhésion et un Gestionnaire de rôles:
< roleManager defaultProvider = « c » enabled= »true » cacheRolesInCookie = »false »>
< fournisseurs>
< ajoutez name= »c » type= »Microsoft.SharePoint.Administration.Réclamation.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version = 14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c » />
<add connectionStringName= »SQLConnectionString » applicationName= »/ » description= »Stores and retrieves roles from SQL Server » name= »SQL-RoleManager » type= »System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a » />
</providers>
</roleManager>
<membership defaultProvider= »i »>
<providers>
<add name= »i » type= »Microsoft.SharePoint.Administration.Réclamation.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version = 14.0.0.0, Culture = neutre, PublicKeyToken =71e9bce111e9429c » />
< add connectionStringName= »SQLConnectionString » passwordAttemptWindow= »5″ enablePasswordRetrieval= »false » enablePasswordReset= »false » requiresQuestionAndAnswer= »true » applicationName= »/ »requiresUniqueEmail= »true » passwordFormat= »Haché » description= »Stocke et récupère les données d’adhésion à partir de SQL Server »name= »SQL-MembershipProvider » type= »Système.Web.Sécurité.SqlMembershipProvider, Système.Web, Version = 2.0.3600.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a » />
</ fournisseurs>
</ adhésion>
</ système.web >
B. Modifier le web.configuration de l’application web d’administration centrale.
- Ajouter une chaîne de connexion:
< Cordons de connexion>
< ajouter name= »SQLConnectionString »ConnectionString= »source de données= SQL; Sécurité intégrée= SSPI;Catalogue initial = Authentification SQL » />
</ connectionStrings >
La chaîne de connexion doit être ajoutée après </SharePoint > et avant le système <.web>
- Ajouter un fournisseur d’adhésion et un Gestionnaire de rôles:
< roleManager defaultProvider = »AspNetWindowsTokenRoleProvider » enabled = »true » cacheRolesInCookie = »false »>
< fournisseurs>
< add connectionStringName= »SQLConnectionString » applicationName= »/ »description= »Stocke et récupère les rôles de SQL Server »name= »SQL-RoleManager » type= »Système.Web.Sécurité.SqlRoleProvider, Système.Web, Version = 2.0.3600.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a » />
</ fournisseurs>
</ Gestionnaire de rôles>
< membership defaultProvider = »SQL-MembershipProvider »>
< fournisseurs>
< add connectionStringName= »SQLConnectionString » passwordAttemptWindow= »5″ enablePasswordRetrieval= »false » enablePasswordReset= »false » requiresQuestionAndAnswer= »true » applicationName= »/ »requiresUniqueEmail= »true » passwordFormat= »Haché » description= »Stocke et récupère les données d’adhésion à partir de SQL Server » nom = « SQL-MembershipProvider » type= »Système.Web.Sécurité.SqlMembershipProvider, Système.Pour plus d’informations, veuillez consulter le site Web suivant :
» /> </ fournisseurs>
</ adhésion >
C. Modifier le site Web.configuration de STS. Vous pouvez localiser le web STS.configuration à partir de %programfiles% fichiers communsmicrosoft Shared Extensions de serveur Web14webservicessecuritytoken
< connectionStrings>
< ajouter name= »SQLConnectionString »ConnectionString= »source de données= SQL; Sécurité intégrée= SSPI;Initial Catalog=SQL-Auth » />
</connectionStrings>
<system.web>
<roleManager defaultProvider= »c » enabled= »true » cacheRolesInCookie= »false »>
<providers>
<add name= »c » type= »Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c » />
<add connectionStringName= »SQLConnectionString » applicationName= »/ » description= »Stores and retrieves roles from SQL Server » name= »SQL-RoleManager » type= »System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a » />
</providers>
</roleManager>
<membership defaultProvider= »i »>
<providers>
<add name= »i » type= »Microsoft.SharePoint.Administration.Réclamation.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version = 14.0.0.0, Culture = neutre, PublicKeyToken =71e9bce111e9429c » />
< add connectionStringName= »SQLConnectionString » passwordAttemptWindow= »5″ enablePasswordRetrieval= »false » enablePasswordReset= »false » requiresQuestionAndAnswer= »true » applicationName= »/ »requiresUniqueEmail= »true » passwordFormat= »Haché » description= »Stocke et récupère les données d’adhésion à partir de SQL Server »name= »SQL-MembershipProvider » type= »Système.Web.Sécurité.SqlMembershipProvider, Système.Web, Version = 2.0.3600.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a » />
</ fournisseurs>
</ adhésion>
</ système.web >
Ci-dessus doit être ajouté avant < /configuration>
IV > Donne des autorisations aux utilisateurs de la base de données SQL.
- Accédez à la console d’administration centrale et cliquez sur Gérer les applications Web sous Gestion des applications.
- Sélectionnez l’application Web et cliquez sur Stratégie utilisateur sur le ruban.
- Cliquez sur Ajouter un utilisateur et sélectionnez Zone par défaut.
- Tapez maintenant le nom d’utilisateur, ajoutez l’utilisateur à l’application Web en définissant l’autorisation appropriée.
Problèmes courants :
Si vous utilisez plusieurs comptes de service conformément à l’article TechNet Comptes d’administration et de service requis pour le déploiement initial (SharePoint Server 2010), vous ne pourrez peut-être pas résoudre les noms d’utilisateur ou ajouter les utilisateurs à l’application Web. Si vous utilisez 3 comptes différents (compte administrateur de batterie de serveurs, compte de pool d’applications pour l’application Web et compte d’application de service), vous devez vous assurer que vous avez accès à la base de données d’adhésion SQL (SQL-Auth).
Important:
Qu’arrive-t-il à FBA lorsque nous mettons à niveau WSS 3.0 / MOSS 2007 vers SharePoint 2010?
Avant de passer à SharePoint 2010, vous devez supprimer les modifications que vous avez apportées au Web.fichier de configuration. Dès que le processus de mise à niveau se termine, toutes les applications Web seront mises à niveau; cependant, ceux-ci utiliseront l’authentification en mode Classique. Vous pouvez convertir ces applications Web de l’Authentification en mode Classique à l’authentification basée sur les réclamations.
outils tiers : Gestionnaire FBA SP2010 (Authentification basée sur les formulaires) Dev-IT