Configuration de l’étape 3 : configurer les paramètres de source de données
par Keith Newman et Robert McMurray
Lors de cette phase de conception de votre site web ASP.NET, vous allez configurer les paramètres de source de données disponibles dans IIS.
3.1. Chaînes de connexion à la source de données
Cette section explique comment créer une chaîne de connexion à une base de données dans IIS à l’aide de l’interface utilisateur du gestionnaire IIS ou de la ligne de commande.
Dans Planification d’un site web ASP.NET sur IIS, vous avez pris les décisions de conception suivantes concernant la nécessité d’ajouter une chaîne de connexion :
- Spécifiez un nom pour la chaîne de connexion.
- Spécifiez le serveur sur lequel se trouve la base de données.
- Spécifiez le nom de la base de données.
- Fournissez les informations d’identification, sauf en cas d’utilisation de la sécurité intégrée de Windows.
Pour créer une chaîne de connexion à une base de données à l’aide de l’interface utilisateur
Ouvrez le gestionnaire IIS et accédez au niveau que vous souhaitez gérer.
Dans l’Affichage des fonctionnalités, double-cliquez sur Chaînes de connexion.
Sur la page Chaînes de connexion, cliquez sur Ajouter dans le volet Actions.
Dans la boîte de dialogue Ajouter une chaîne de connexion, saisissez un nom pour la chaîne de connexion, par exemple MaConnexion, dans la zone de texte Nom.
Remarque
Le nom que vous entrez dans le gestionnaire IIS est le même que celui auquel vous faites référence dans votre code d’application pour récupérer des données à l’aide de cette chaîne de connexion.
Avec l’option SQL Server sélectionnée, saisissez le nom du serveur qui héberge la base de données dans la zone de texte Serveur et saisissez le nom de la base de données dans la zone de texte Base de données.
Sous Informations d’identification, choisissez l’une des options suivantes :
- Sélectionnez Utiliser la sécurité intégrée de Windows.
- Sélectionnez Spécifier les informations d’identification, puis cliquez sur Définir. Saisissez le nom d’utilisateur et le mot de passe d’un compte pouvant se connecter au serveur et à la base de données dans les zones de texte Nom d’utilisateur et Mot de passe. Ensuite, saisissez le même mot de passe dans la zone de texte Confirmer le mot de passe, puis cliquez sur OK.
Cliquez sur OK.
Pour créer une chaîne de connexion à une base de données à l’aide de la ligne de commande
Pour créer une chaîne de connexion à une base de données, utilisez la syntaxe suivante :
appcmd set config /commit:MACHINE /section:connectionStrings /+"[connectionString='string', name='string', providerName='string']"
La variable connectionString='string'
correspond à la valeur de la chaîne de connexion, la variable name='string'
correspond à la clé à utiliser pour accéder à la valeur de la chaîne de connexion, et la variable providerName='string'
correspond au nom du fournisseur ADO.NET à utiliser pour accéder à la banque de données sous-jacente. Par exemple, pour créer une chaîne de connexion pour une application qui utilise la base de données Northwind, saisissez la commande suivante dans l’invite de commande, puis appuyez sur Entrée :
appcmd set config /commit:MACHINE /section:connectionStrings /+"[connectionString='Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;', name='Northwind', providerName='System.Data.SqlClient ']"
3.2. Fournisseurs ASP.NET
Cette section explique comment ajouter un fournisseur .NET à ISS à l’aide de l’interface utilisateur du gestionnaire ISS ou de la ligne de commande.
Dans Planification d’un site web ASP.NET sur IIS, vous avez pris les décisions de conception suivantes concernant l’ajout d’un fournisseur .NET à IIS :
Sélectionnez la fonctionnalité IIS que le fournisseur doit fournir : profils .NET, rôles .NET ou utilisateurs .NET.
Sélectionnez le type de fournisseur.
Entrez un nom pour le fournisseur.
Si vous avez sélectionné la fonctionnalité utilisateurs .NET, sélectionnez les comportements du fournisseur que vous souhaitez :
- Activer la réinitialisation du mot de passe
- Activer la récupération de mot de passe
- Nécessite une question et une réponse
- Nécessite un e-mail unique
- Stocker le mot de passe au format sécurisé
Indiquez le nom de la chaîne de connexion à la base de données.
Entrez le nom de l'application.
Pour ajouter un fournisseur à l’aide de l’interface utilisateur
Ouvrez le gestionnaire IIS et accédez au niveau que vous souhaitez gérer.
Dans l’Affichage des fonctionnalités, double-cliquez sur Fournisseurs.
Dans la page Fournisseurs, sous Fonctionnalité, sélectionnez l’une des fonctionnalités suivantes :
- rôles .NET : pour configurer le fournisseur de façon à ce qu’il fournisse une interface entre le service de gestion des rôles ASP.NET (le « gestionnaire de rôles ») et les sources de données relatives aux rôles.
- utilisateurs .NET : pour configurer le fournisseur de façon à ce qu’il fournisse une interface entre le service d’appartenance ASP.NET et les sources de données d’appartenance.
- profils .NET : pour configurer le fournisseur de façon à ce qu’il fournisse une interface entre le service de profil ASP.NET et les sources de données de profil.
Dans le volet Actions, cliquez sur Ajouter.
Dans la boîte de dialogue Ajouter un fournisseur, sélectionnez un type de fournisseur dans la liste déroulante Type.
Dans la zone de texte Nom, saisissez un nom pour le fournisseur.
Si la fonctionnalité utilisateurs .NET a été sélectionnée à l’étape 3, dans la section Propriétés du profil, sous Comportement, définissez la valeur de l’un ou de plusieurs des comportements suivants sur True pour activer le comportement :
EnablePasswordReset : indique si les mots de passe peuvent être réinitialisés à l’aide de la méthode ResetPassword du fournisseur. Le paramètre par défaut est False.
EnablePasswordRetrieval : indique si les mots de passe peuvent être récupérés à l’aide de la méthode GetPassword du fournisseur. Le paramètre par défaut est False.
Important
Certains fournisseurs, tels que le fournisseur Active Directory, ne prennent pas en charge la récupération des mots de passe. Pour ces fournisseurs, la valeur de l’attribut enablePasswordRetrieval est toujours False et ne peut pas être modifiée lors de la configuration.
RequiresQuestionAndAnswer : indique si une réponse de mot de passe est fournie lorsque le programme appelle les méthodes GetPassword et ResetPassword du fournisseur. Le paramètre par défaut est False.
RequiresUniqueEmail : indique si chaque utilisateur inscrit doit avoir une adresse de messagerie unique. Le paramètre par défaut est False.
StorePasswordInSecureFormat : indique si les mots de passe sont hachés. Le paramètre par défaut est False.
Sous Données, saisissez le nom de la chaîne de connexion utilisée pour se connecter à la base de données dans la zone de texte ConnectionStringName. (Remarque : il s’agit de la même chaîne de connexion que celle qui a été configurée sous la fonctionnalité Chaînes de connexion. Pour plus d’informations sur la configuration des chaînes de connexion, consultez Configuration des chaînes de connexion dans IIS 7. Si WindowsTokenRoleProvider a été sélectionné à l’étape 5 de cette procédure, le nom de chaîne de connexion est facultatif.)
Si vous le souhaitez, dans la section Propriétés du profil, sous Général, saisissez le chemin d’accès virtuel de l’application dans la zone de texte ApplicationName. Si vous ne spécifiez pas de valeur dans la zone de texte ApplicationName, l’API d’appartenance sera définie par défaut sur HttpContext.Current.Request.ApplicationPath. Ce chemin d’accès ne peut être déterminé qu’au moment de l’exécution.
Si vous le souhaitez, dans la section Propriétés du profil, sous Général, saisissez une description du fournisseur dans la zone de texte Description.
Cliquez sur OK.
Pour ajouter un fournisseur à l’aide de la ligne de commande
Pour ajouter un fournisseur de rôles .NET, utilisez la syntaxe suivante :
appcmd set config /commit:MACHINE /section:roleManager /+"providers.[name='string', type='string', connectionStringName='string', applicationName='string']"
La variable name='string'
correspond au nom du fournisseur. La variable type='string'
correspond au type de fournisseur. La variable connectionStringName='string'
correspond au nom de la chaîne de connexion utilisée pour se connecter à la base de données. La variable applicationName='string'
est facultative et correspond au chemin d’accès virtuel de l’application. Par exemple, pour configurer une application ASP.NET de manière à ce qu’elle utilise la classe SqlRoleProvider
pour stocker et récupérer des informations sur les rôles, saisissez ce qui suit dans l’invite de commande, puis appuyez sur Entrée :
appcmd set config /commit:MACHINE /section:roleManager /+"providers.[name='SqlProvider', type='System.Web.Security.SqlRoleProvider', connectionStringName='SqlServices', applicationName='SampleApplication']"
Pour ajouter un fournisseur d’utilisateurs .NET, utilisez la syntaxe suivante :
appcmd set config /commit:MACHINE /section:membership /+"providers.[name='string', type='string', connectionStringName='string', applicationName='string', enablePasswordReset='true|false', enablePasswordRetrieval='true|false', requiresQuestionAndAnswer='true|false', requiresUniqueEmail='true|false', storePasswordInSecureFormat='true|false']"
Cette syntaxe se compose des éléments suivants :
- La variable
name='string'
correspond au nom du fournisseur. - La variable
type='string'
correspond au type de fournisseur. - La variable
connectionStringName='string'
correspond au nom de la chaîne de connexion utilisée pour se connecter à la base de données. - La variable
applicationName='string'
est facultative et correspond au chemin d’accès virtuel de l’application. - La variable
enablePasswordReset=true
active la réinitialisation de mot de passe à l’aide de la méthode ResetPassword du fournisseur. La valeur par défaut estfalse
. - La variable
enablePasswordRetrieval=true
active la récupération de mot de passe à l’aide de la méthode GetPassword du fournisseur. La valeur par défaut estfalse
. - La variable
requiresQuestionAndAnswer=true
exige qu’une réponse de mot de passe soit fournie lorsque le programme appelle les méthodes GetPassword et ResetPassword du fournisseur. La valeur par défaut estfalse
. - La variable
requiresUniqueEmail=true
exige que chaque utilisateur inscrit dispose d’une adresse de messagerie unique. La valeur par défaut estfalse
. - La variable
storePasswordInSecureFormat=true
exige que tous les mots de passe soient hachés. La valeur par défaut estfalse
.
Par exemple, pour configurer une application ASP.NET de manière à ce qu’elle utilise la classe SqlMembershipProvider
pour stocker et récupérer des informations sur l’utilisateur, saisissez ce qui suit dans l’invite de commande, puis appuyez sur Entrée :
appcmd set config /commit:MACHINE /section:membership /+"providers.[name='SqlProvider', type='System.Web.Security.SqlMembershipProvider', connectionStringName='SqlServices', applicationName='/', enablePasswordRetrieval='False', enablePasswordReset='True', requiresQuestionAndAnswer='True']"
Pour ajouter un fournisseur de profils .NET, utilisez la syntaxe suivante :
appcmd set config /commit:MACHINE /section:profile /+"providers.[name='string', type='string', connectionStringName='string', applicationName='string']"
La variable name='string'
correspond au nom du fournisseur. La variable type='string'
correspond au type de fournisseur. La variable connectionStringName='string'
correspond au nom de la chaîne de connexion utilisée pour se connecter à la base de données. La variable applicationName='string'
est facultative et correspond au chemin d’accès virtuel de l’application. Par exemple, pour configurer une application ASP.NET de manière à ce qu’elle utilise la classe SqlProfileProvider
pour stocker et récupérer des informations sur le profil, saisissez ce qui suit dans l’invite de commande, puis appuyez sur Entrée :
appcmd set config /commit:MACHINE /section:profile /+"providers.[name='SqlProvider', type='System.Web.Profile.SqlProfileProvider', connectionStringName='SqlServices', applicationName='SampleApplication']"
3.3. Profils .NET
Cette section explique comment ajouter une propriété de profil et un groupe de profils.
Dans Planification d’un site web ASP.NET sur IIS, vous avez pris les décisions de conception suivantes concernant les propriétés et les groupes de profils dans IIS :
- Pour chaque propriété de profil, indiquez le nom de la propriété, le type de données (chaîne ou booléen), une valeur par défaut, une option de sérialisation (chaîne, XML, binaire ou propre au fournisseur), s’il s’agit d’une propriété en lecture seule et si elle est disponible pour les utilisateurs anonymes.
- Pour chaque groupe de profil, indiquez le nom du groupe.
Pour ajouter une propriété de profil .NET à l’aide de l’interface utilisateur
Ouvrez le gestionnaire IIS et accédez au niveau que vous souhaitez gérer.
Dans l’Affichage fonctionnalités, double-cliquez sur Profil .NET.
Dans le volet Actions, cliquez sur Ajouter une propriété pour ajouter une propriété de profil .NET ou, pour ajouter une propriété de profil .NET à un groupe, sélectionnez le groupe auquel vous souhaitez ajouter la propriété de profil .NET, puis cliquez sur Ajouter une propriété au groupe.
Dans la boîte de dialogue Ajouter une propriété de profil .NET, saisissez un nom pour la propriété de profil .NET dans la zone de texte Nom.
Sous Type de données, sélectionnez l’un des types de données suivants :
- System.Boolean : pour configurer la propriété de profil .NET de sorte qu’elle prenne une valeur True ou False.
- System.Char : pour configurer la propriété de profil .NET de sorte qu’elle contienne des caractères Unicode.
- System.DateTime : pour configurer la propriété de profil .NET de sorte qu’elle contienne des dates et des heures avec des valeurs comprises entre 00:00:00 minuit au 1ᵉʳ janvier 0001 Anno Domini (A.D.) ou Common Era (C.E.) et 23:59:59 au 31 décembre 9999 A.D. (C.E.)
- System.Decimal : pour configurer la propriété de profil .NET de sorte qu’elle contienne des nombres décimaux compris entre +79 228 162 514 264 337 593 543 950 335 et -79 228 162 514 264 337 593 543 950 335. Le type de valeur Décimal est approprié pour les calculs financiers qui requièrent de nombreux chiffres significatifs intégraux et fractionnaires, et aucune erreur d’arrondi.
- System.Double : pour configurer la propriété de profil .NET de sorte qu’elle contienne un nombre 64 bits double précision avec des valeurs comprises en -1,79769313486232e308 et +1,79769313486232e308, ainsi qu’un zéro positif ou négatif, PositiveInfinity, NegativeInfinity et Not-a-Number (NaN). Pour plus d’informations sur le type de valeur Double, consultez Structure double.
- System.Int32 : pour configurer la propriété de profil .NET de sorte qu’elle contienne un entier signé avec une valeur comprise entre -2 147 483 648 et +2 147 483 647.
- System.Int64 : pour configurer la propriété de profil .NET de sorte qu’elle contienne un entier avec une valeur comprise entre -9 223 372 036 854 775 808 et +9 223 372 036 854 775 807.
- System.Single : pour configurer la propriété de profil .NET de sorte qu’elle contienne un nombre 32 bits simple précision avec des valeurs comprises entre -3,402823e38 et +3,402823e38, ainsi qu’un zéro positif ou négatif, PositiveInfinity, NegativeInfinity et NaN (Not-a-Number). Pour plus d’informations sur le type de valeur Single, consultez Structure Single.
- System.String : pour configurer la propriété de profil .NET comme une collection séquentielle de structures Char qui représente une chaîne de texte. Il s’agit du paramètre par défaut.
Dans la zone de texteValeur par défaut, saisissez une valeur avec laquelle la propriété sera initialisée.
Sous l’Option sérialisation, sélectionnez l’un des formateurs de sérialisation suivants :
- Chaîne : sélectionnez cette option lorsque la propriété de paramètres est sérialisée en tant que texte en clair. Il s’agit du paramètre par défaut.
- XML : sélectionnez cette option pour sérialiser uniquement les propriétés et champs publics. La sérialisation XML ne conserve pas la fidélité du type. Cette option est utile lorsque vous souhaitez fournir ou consommer des données sans restreindre l’application qui utilise les données. Le langage XML étant une norme ouverte, il constitue un choix intéressant pour le partage de données sur le Web.
- Binaire : sélectionnez cette option pour conserver la fidélité du type. La sérialisation binaire est utile pour conserver l’état d’un objet entre différents appels d’une application. Par exemple, vous pouvez partager un objet entre plusieurs applications en le sérialisant dans le Presse-papiers. Vous pouvez sérialiser un objet vers un flux, sur un disque, en mémoire, sur le réseau, et ainsi de suite.
- Propre au fournisseur : sélectionnez cette option lorsque le fournisseur de paramètres a une connaissance implicite de la propriété ou de son type, et est en mesure de choisir un mécanisme de sérialisation approprié. Cette option est souvent utilisée pour la sérialisation personnalisée.
Cochez la case En lecture seule pour configurer la propriété de profil .NET afin qu’elle ne puisse pas être modifiée.
Cochez la case Disponible pour les utilisateurs anonymes afin de rendre la propriété de profil .NET disponible pour les utilisateurs non authentifiés.
Cliquez sur OK.
Pour ajouter une propriété de profil .NET à l’aide de la ligne de commande
Pour ajouter une propriété de profil .NET, utilisez la syntaxe suivante :
appcmd set config /commit:MACHINE /section:profile /+"properties.[name='string', type='string', defaultValue='string', serializeAs='String|Xml|Binary|ProviderSpecific', readOnly='true|false', allowAnonymous='true|false']"
La variable name='string'
correspond au nom de la propriété de profil. La variable type='string'
correspond au type de données. La variable defaultValue='string'
correspond à la valeur avec laquelle la propriété de profil est initialisée. La variable serializeAs='String|Xml|Binary|ProviderSpecific'
définit le formateur de sérialisation. La variable readOnly=true
configure la propriété de profil .NET afin qu’elle ne puisse pas être modifiée. La valeur par défaut est false
. La variable allowAnonymous=true
rend la propriété de profil .NET disponible pour les utilisateurs non authentifiés. La valeur par défaut est false
. Par exemple, pour spécifier une propriété de profil qui contient une collection de listes de recherche récente, saisissez ce qui suit dans l’invite de commandes, puis appuyez sur Entrée :
appcmd set config /commit:MACHINE /section:profile /+"properties. [name='RecentSearchList', type='System.Collections.Specialized.StringCollection', serializeAs='Xml', allowAnonymous='true']"
Pour ajouter un groupe de profils .NET à l’aide de l’interface utilisateur
- Ouvrez le gestionnaire IIS et accédez au niveau que vous souhaitez gérer.
- Dans l’Affichage fonctionnalités, double-cliquez sur Profil .NET.
- Dans le volet Actions, cliquez sur Ajouter un groupe.
- Dans la boîte de dialogue Ajouter un groupe, saisissez un nom pour le groupe de profils .NET dans la zone de texte Nom, puis cliquez sur OK.
3.4. Rôles .NET
Cette section explique comment ajouter un rôle .NET à l’aide de l’interface utilisateur du gestionnaire IIS.
Pour ajouter un rôle .NET à l’aide de l’interface utilisateur
- Ouvrez le gestionnaire IIS et accédez au niveau que vous souhaitez gérer.
- Dans l’Affichage fonctionnalités, double-cliquez sur Rôles .NET.
- Dans le volet Actions, cliquez sur Ajouter.
- Dans la boîte de dialogue Ajouter un rôle .NET, saisissez le nom du rôle dans la zone de texte Nom , puis cliquez sur OK.
3.5. Utilisateurs .NET
Cette section explique comment configurer des utilisateurs .NET à l’aide de l’interface utilisateur du gestionnaire IIS.
Dans Planification d’un site web ASP.NET sur IIS, vous avez pris les décisions de conception suivantes pour chaque utilisateur que vous souhaitez ajouter à IIS :
- Nom d’utilisateur
- Mot de passe
- Question
- Réponse
- Rôle(s)
Pour ajouter un utilisateur .NET à l’aide de l’interface utilisateur
Ouvrez le gestionnaire IIS et accédez au niveau que vous souhaitez gérer.
Dans l’Affichage fonctionnalités, double-cliquez sur Utilisateurs .NET.
Dans le volet Actions, cliquez sur Ajouter.
Dans la boîte de dialogue Détails du compte d’utilisateur .NET, entrez les informations suivantes :
- Nom d’utilisateur (doit être unique).
- Adresse e-mail (doit utiliser le format standard : name@domain.com).
- Mot de passe (doit être un mot de passe fort).
- Confirmez le mot de passe (doit correspondre au mot de passe).
- Question (saisissez une question personnalisée ou sélectionnez-la dans la liste).
- Répondez à la question.
Cliquez sur Suivant pour sélectionner des rôles pour cet utilisateur. Si vous n’avez pas activé Rôles .NET, cliquez sur Terminer.
Dans la boîte de dialogue Rôles d’utilisateur .NET, vous pouvez également sélectionner des rôles disponibles dans la zone Rôles, puis cliquer sur Terminer.