2009-08-14 9 views
8

Dies könnte ein Duplikat sein (question), aber ich suche speziell nach der .NET-Best Practice.Was ist die beste Vorgehensweise zum Speichern von Datenbankverbindungsdetails in .NET?

Wie können Datenbankverbindungszeichenfolgen, Benutzername und Passwort usw. auf sichere Weise gespeichert werden? Ist eine app.config in den meisten Fällen am besten verschlüsselt?

Ich möchte auch in der Lage sein, das Passwort in der Konfigurationsdatei zu setzen und es dann verschlüsselt zu haben, sobald die Anwendung gestartet wird. (Ich frage nicht nach einer Lösung, da ich dies vorher gelöst habe, ich suche nur nach Best Practice (s)).

Ich bin auch an alternativen Lösungen interessiert, mit denen Sie gute Erfahrungen gemacht haben.

Antwort

7

Ich denke, die beste Vorgehensweise ist die integrierte Sicherheit, wenn möglich, aus zwei Gründen ... Es ist die einfachste Lösung zu verwalten und es ist die einfachste Lösung, um richtig zu machen.

Wenn Sie aus irgendeinem Grund die integrierte Sicherheit nicht verwenden können, müssen Sie Benutzername und Kennwort verschlüsseln, indem Sie den Konfigurationsmanager Enterprise Library verwenden, um Abschnitte Ihrer web.config zu verschlüsseln.

+0

Dies ist der beste Ansatz und Widley folgte .... – RameshVel

+0

Danke, ich habe noch nie die Enterprise Library verwendet, ich werde es überprüfen. – Ezombort

+0

Die Verbindungen werden gemäß der Verbindungszeichenfolge und der Benutzeridentität zusammengefasst. Die Verwendung von Integrated Security kann zu einer Verbindungspoolfragmentierung führen. (http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx). –

1

Das wäre web.config. Sie können die Verbindungszeichenfolge verschlüsseln, wenn die Sicherheit wichtig ist.

0

Was ich in letzter Zeit als nützlich empfunden habe, ist Microsofts Single Sign On Service. Wenn Sie die SQL-Authentifizierung verwenden müssen, können Sie die tatsächlichen Anmeldeinformationen in einer verschlüsselten Datenbank speichern.

Verwandte Themen