首頁  >  文章  >  php教程  >  sql server中間件支援前後端密碼分離

sql server中間件支援前後端密碼分離

高洛峰
高洛峰原創
2016-11-23 09:40:051964瀏覽

    經過一個多月的精心分析研究終於完成sql server的驗證流程,把驗證過程分開實作在sql server的中間件oneproxy-for-sqlserver中了。目前oneproxy-for-sqlserver已經實作前後端密碼分離功能。可以透過平民軟體了解更多情況或追蹤本專案的wiki了解情況。

    至從oneproxy-for-sqlserver的1.1.0版本開始支援密碼分離的功能,oneproxy-for-sqlserver是在開源框架oneproxy-monotor下開發的。前端使用與登入資料庫不同的使用者名稱和密碼來登入中間件oneproxy-for-sqlserver,oneproxy-for-sqlserver在使用另一個使用者名稱和密碼來登入資料庫。下面來講解配置與使用情況:

[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

上面是設定檔中的內容,與密碼分離相關的配置在[oneproxy]和[database_xxx]標籤下面都有,下面是[oneproxy]標籤下的配置,這個配置的是客戶端使用的使用者名稱和密碼情況。 passwordseparate指示中間件使用這個功能還是不要使用這個功能。預設情況(沒有此配置項)下是為true。如果需要關閉密碼分離功能,則設定此配置為false即可。

clientusername = admin
clientpassword = 123456
passwordseparate = true

同時要注意的是資料庫的資訊必須放到[database_xxx]標籤下,標籤的名稱必須是database開頭即可。登入資料庫的使用者名稱和密碼則必須放到資料庫標籤下面,透過username和password來指定。

測試環境:

伺服器版本:

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)

客戶端程式與版本:

1. sqlserverjdbc4

2. Microsoft SQL Server Manager studio

3. st

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn