Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Comment protéger les informations d’identification quand j’utilise le plug-in Visual Studio Add Adapter Service Reference ?
Lorsque vous utilisez le plug-in Add Adapter Service Reference pour créer un client WCF, vous devez fournir un nom d’utilisateur et un mot de passe pour la base de données Oracle. Vous devez le faire uniquement à partir de l’onglet Sécurité de la boîte de dialogue Configurer l’adaptateur . En entrant les informations d’identification Oracle à partir de l’onglet Sécurité au lieu de directement dans le champ Configurer un URI , vérifiez les éléments suivants :
Les informations d’identification ne s’affichent pas dans le champ Uri de la boîte de dialogue Ajouter un plug-in de référence du service d’adaptateur, où toute personne ayant accès à l’écran de votre ordinateur peut les lire.
Les informations d’identification ne s’affichent pas dans le fichier de configuration généré par le plug-in Add Adapter Service Reference.
Pour plus d’informations sur la génération d’un client WCF à l’aide du plug-in Add Adapter Service Reference, notamment comment entrer un nom d’utilisateur et un mot de passe pour la base de données Oracle, consultez Obtenir des métadonnées pour les opérations Oracle Database dans Visual Studio.
Quelles sont les meilleures pratiques pour définir les informations d’identification dans le code ?
WCF fournit la classe ClientCredentials pour vous aider à configurer les informations d’identification qu’un objet de communication client, tel qu’un ChannelFactory, utilise pour s’authentifier auprès d’un service. En utilisant la classe ClientCredentials , vous assurez que WCF accepte les mécanismes d’authentification spécifiés dans la pile de canaux de cet objet et les applique à l’échange entre votre client et le service.
Étant donné que l’adaptateur Oracle Database est hébergé en cours avec son application consommatrice, il n’est pas impératif d’utiliser la classe ClientCredentials pour définir des informations d’identification sur les objets de communication client utilisés par l’application consommatrice. Toutefois, il est considéré comme bonne pratique de le faire ainsi.
L’adaptateur Oracle Database encourage l’utilisation de la classe ClientCredentials . Cette propriété spécifie si l’adaptateur accepte le nom d’utilisateur et le mot de passe de la base de données Oracle dans l’URI de connexion. AcceptCredentialsInUri a la valeur false, ce qui signifie que l’adaptateur lève une exception si l’URI de connexion contient des informations d’identification. Vous pouvez définir AcceptCredentialsInUri sur true pour fournir les informations d’identification dans l’URI de connexion.
L’exemple suivant montre comment utiliser la propriété Credentials pour définir des informations d’identification pour la base de données Oracle sur un ChannelFactory.
// Create binding and endpoint
OracleDBBinding binding = new OracleDBBinding();
EndpointAddress endpointAddress = new EndpointAddress("oracleDB://Adapter");
// Create the channel factory
ChannelFactory<IRequestChannel> factory = new ChannelFactory<IRequestChannel>(binding, endpointAddress))
// Set user name and password
factory.Credentials.UserName.UserName = "SCOTT";
factory.Credentials.UserName.Password = "TIGER";
// Open the channel factory
factory.Open();
L’exemple suivant montre comment utiliser la classe ClientCredentials pour définir des informations d’identification pour la base de données Oracle sur un client WCF.
// Initialize a new client for the SQLEXECUTE operation from configuration
SQLEXECUTEClient sqlExecuteClient = new SQLEXECUTEClient("OracleDBBinding_SQLEXECUTE");
// Set user name and password
sqlExecuteClient.ClientCredentials.UserName.UserName = "SCOTT";
sqlExecuteClient.ClientCredentials.UserName.Password = "TIGER";
// Open the client
sqlExecuteClient.Open();
Comment puis-je fournir un échange de données plus sécurisé entre les limites de processus ?
L’adaptateur Oracle Database est hébergé en processus avec l’application ou le service qui l’utilise. Étant donné que l’adaptateur est hébergé en processus avec le consommateur, il n’est pas nécessaire d’assurer la sécurité des messages échangés entre l’adaptateur Oracle Database et le consommateur. Toutefois, si l’application ou le service consommant envoie des messages contenant des informations de base de données sensibles sur une limite de processus à un autre service ou client, vous devez prendre des mesures pour fournir une protection adéquate pour ces données dans votre environnement. Windows Communication Foundation (WCF) offre de nombreuses options pour aider à sécuriser les messages envoyés entre les clients et les services. Pour plus d’informations sur l’aide à sécuriser les messages envoyés entre les clients et les services dans WCF, consultez Sécurisation des services et des clients. Pour plus d’informations générales sur les fonctionnalités de sécurité fournies par WCF, consultez Sécurité Windows Communication Foundation.
Voir aussi
Sécuriser vos applications Oracle Database
Meilleures pratiques