2016-12-12 2 views
0

Ich hostet einen Windows-Dienst, der unter einem bestimmten AD-Benutzerkonto ausgeführt wird. Dieser Benutzer hat kein Recht in meiner MS SQL-Datenbank. Stattdessen habe ich ein anderes AD-Benutzerkonto, das Rechte in meiner Datenbank hat, aber keinen Windows-Dienst ausführen kann.ConnectionString mit Specific AD Account Credential

Hier ist meine folgende Verbindungszeichenfolge:

<connectionStrings> 
    <add name="CnxDev" connectionString="Server=FOOOOO1111\DEV2008R2;Database=Fooo;Trusted_Connection=True;" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

Wie kann ich bestimmte AD-Benutzerberechtigungsnachweis angeben, um meine SQL-Anfragen zu konsumieren? Natürlich überprüfe ich bereits im Internet, um Informationen zu finden, aber nichts mit Windows-Dienst und AD-Konto in einem AD-Konto.

+0

Eine vertrauenswürdige Verbindung verwendet eine Windows-Anmeldung wie die Anmeldeinformationen. Daher müssen sich der lokale PC und der Remote-PC in derselben Gruppe befinden, um die Anmeldeinformationen der Benutzer zu teilen. Die Anmeldeinformationen in der Datenbank müssen die Windows-Anmeldeinformationen angeben. Normalerweise wird ein einzelnes Windows-Gruppenkonto erstellt und die Datenbank verweist auf die Windows-Gruppe. Dann werden Benutzer der Windows-Gruppe hinzugefügt, so dass die Datenbankanmeldeinformationen nicht jedes Mal geändert werden müssen, wenn ein neuer Benutzer hinzugefügt wird. – jdweng

Antwort

2

Ich würde in Erwägung ziehen, ein verwaltetes Dienstkonto einzurichten, das über den Zugriff verfügt, den Sie zum Ausführen des Diensts und der entsprechenden Berechtigungen in SQL benötigen. Wenn Sie dies nicht tun (oder nicht können), können Sie dies mit Identitätswechsel tun. Hier ist ein Beispiel unter Verwendung von C#

https://platinumdogs.me/2008/10/30/net-c-impersonation-with-network-credentials/

+0

Danke für den Link. Ich werde versuchen, zuerst einen Account mit beiden Zugriffen zu erstellen. Haben Sie einen guten Tag. –

Verwandte Themen