Nach mehr als einem Monat sorgfältiger Analyse und Recherche wurde der Verifizierungsprozess von SQL Server endlich abgeschlossen und der Verifizierungsprozess separat in der Middleware Oneproxy-for-SQLServer von SQL Server implementiert. Derzeit hat oneproxy-for-sqlserver die Funktion zur Trennung von Front-End- und Back-End-Passwörtern implementiert. Sie können über zivile Software mehr über die Situation erfahren oder dem Wiki dieses Projekts folgen, um mehr über die Situation zu erfahren.
Ab Version 1.1.0 von oneproxy-for-sqlserver wird die Passworttrennungsfunktion unter dem Open-Source-Framework oneproxy-monotor unterstützt. Das Front-End verwendet einen anderen Benutzernamen und ein anderes Kennwort, um sich bei der Datenbank anzumelden und sich bei der Middleware oneproxy-for-sqlserver anzumelden, und oneproxy-for-sqlserver verwendet einen anderen Benutzernamen und ein anderes Kennwort, um sich bei der Datenbank anzumelden. Die Konfiguration und Verwendung werden unten erläutert:
[oneproxy] logfile = oneproxy_log.log pidfile = oneproxy_pid.pid listen_addr = 0.0.0.0 listen_port = 9999,8888,7777,6666 httpserver_addr = 0.0.0.0 httpserver_port = 8080 log_level = error data_dump = false log_sql = false clientusername = admin clientpassword = 123456 passwordseparate = true [database_1433] host = 127.0.0.1 port = 1433 username = sa password = 0000 [sqlserver_9999] dbmastergroup = database_1433 classname = SSProtocol frontport = 0
Das Obige ist der Inhalt der Konfigurationsdatei. Die Konfiguration im Zusammenhang mit der Passworttrennung befindet sich unter den Tags [oneproxy] und [database_xxx]. oneproxy]-Tag. Die Konfiguration unten ist der Benutzername und das Passwort, die vom Client verwendet werden. „passwordseparate“ weist die Middleware an, diese Funktion zu verwenden oder nicht. Standardmäßig (ohne dieses Konfigurationselement) ist es wahr. Wenn Sie die Passworttrennungsfunktion deaktivieren müssen, setzen Sie diese Konfiguration einfach auf „false“.
clientusername = admin clientpassword = 123456 passwordseparate = true
Gleichzeitig ist zu beachten, dass die Datenbankinformationen unter dem Tag [database_xxx] platziert werden müssen und der Name des Tags mit Datenbank beginnen muss. Der Benutzername und das Passwort für die Anmeldung bei der Datenbank müssen unter dem Datenbanketikett angegeben und durch Benutzername und Passwort angegeben werden.
Testumgebung:
Serverversion:
Microsoft SQL Server 2014 - 12.0.2000.8 (X64) Feb 20 2014 20:04:26 Copyright (c) Microsoft Corporation Express Edition (64-bit) on Windows NT 6.3 <X64> (Build 14393: ) (Hypervisor)
Client-Programm und Version:
1. sqlserverjdbc4
2 SQL Server Manager Studio
3. sqlstress