欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

sql server中间件支持前后端密码分离

程序员文章站 2022-03-08 20:42:40
...
经过一个多月的精心分析和研究终于完成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. sqlstress

相关标签: sql server