2016-08-23 1 views
0

J'ai une question et je ne trouve pas de réponse. Je programme l'application Windows Forms en C#. J'utilise Entity Framework pour me connecter à une base de données SQL Server. Comme je vois un mot de passe à la base de données est stocké dans ma chaîne de connexion. Je crée des utilisateurs dans mon application, puis je les stocke dans une table de base de données. Je sais que ce n'est pas un moyen sécurisé de le faire, car le mot de passe peut être volé à partir de ma chaîne de connexion et je ne peux pas contrôler quel utilisateur a fait ce changement dans la base de données. Je pensais que peut-être créer des comptes dans SQL Server pour chaque utilisateur dans mon application est une bonne idée. Ensuite, je peux remplir la chaîne de connexion avec le mot de passe de l'utilisateur lorsqu'il se connecte. Mais comment puis-je vérifier si la connexion est correcte alors que je n'ai pas encore accès à la base de données?Connexion sécurisée à une base de données SQL Server à partir de l'application C#

Merci à l'avance,

Artur

+0

Vous pouvez utiliser un compte de domaine. Le compte qui exécute l'application a également le droit de lire/écrire dans la base de données. – user1666620

+0

S'il s'agit d'une application Windows, comment tous les utilisateurs partagent-ils la même base de données? – wonderbell

+0

DB est sur un serveur. – Artur

Répondre

0

Créer un compte de service de domaine et se connecter via « sécurité intégrée » = true ou SSPI, s'il est vrai qu'il se connecte avec un compte Windows configuré, si elle est sspi alors il se connectera via la connexion Windows actuelle, si elle est fausse, nous devons fournir un ID utilisateur et un mot de passe.

basé sur le fournisseur,

SqlClient - sécurité intégrée = true; - ou - Sécurité intégrée = SSPI; OleDb - Sécurité intégrée = SSPI;

Odbc - Trusted_Connection = yes;

OracleClient - Sécurité intégrée = oui;

+0

Mais dites-moi ce que je peux faire pour y arriver? J'ai besoin d'une possibilité de créer de nouveaux comptes pour les utilisateurs de mon application. Ils doivent connaître leurs mots de passe pour pouvoir se connecter. Mon application sera installée sur de nombreux ordinateurs et les utilisateurs de cette application pourront modifier la base de données (située dans l'Internet). – Artur