Mein Ziel ist es, direkten Benutzerzugriff auf den Datenbankserver zu verhindern. Eine Möglichkeit besteht darin, einen WCF-Dienst oder Webdienst in der Mitte zwischen der Front-End-Anwendung und dem Datenbankserver zu erstellen.Datenbankzugriff Identitätswechsel
Zunächst werden die Benutzer für die Anwendung authentifiziert. Anschließend stellt die Anwendung über den WCF-Dienst eine Verbindung her, um Geschäftslogikoperationen auszuführen. Der WCF-Dienst führt die datenbankbezogenen Vorgänge mit einem Windows-Konto aus. Dadurch wird verhindert, dass andere Benutzer direkt auf den Datenbankserver zugreifen, da die Berechtigung nur einem bestimmten Windows-Konto erteilt wird.
Hier sind meine Fragen: Obwohl der Datenbankzugriff nur einem Windows-Konto gewährt wird und die WCF dieses Windows-Konto für datenbankbezogene Vorgänge verwendet, ist es möglich, alle datenbankbezogenen Vorgänge mit den Anmeldeinformationen des Protokollierten zu markieren im Benutzer?
aktualisieren
Danke für die Antworten. Scheint, als ob das obige Szenario nicht erreichbar ist. Ich untersuche derzeit die SQL 2008 Application Role-Funktion. Eines der Beispiele ist here. Aber nach weiteren Untersuchungen gibt es offensichtlich ein Problem mit dem Verbindungs-Pooling.
aktualisieren
Es ist ein Stapelüberlauf-Thread here in Bezug auf SQL Server-Anwendungsrolle
Ich weiß nicht, dass jemand Anwendungsrollen verwendet ... – gbn