This commit is contained in:
midoks 2022-08-11 15:15:02 +08:00
parent e904ad4406
commit cec9c3a23d
2 changed files with 20 additions and 87 deletions

View File

@ -977,7 +977,19 @@ def setDbAccess():
return data[1]
name = args['name']
access = args['access']
psdb = pSqliteDb('databases')
conf = pgHbaConf()
data = mw.readFile(conf)
new_data = re.sub(r'host\s*{}.*'.format(name), '', data).strip()
new_data += "\nhost {} {} {} md5".format(
name, name, access)
mw.writeFile(conf, new_data)
psdb.where("name=?", (name,)).setField('accept', access)
return mw.returnJson(True, "设置成功")

View File

@ -306,7 +306,7 @@ function setDbAccess(name){
return;
}
var index = layer.open({
layer.open({
type: 1,
area: '500px',
title: '设置数据库权限',
@ -320,7 +320,7 @@ function setDbAccess(name){
<div class='info-r '>\
<select class='bt-input-text mr5' name='dataAccess' style='width:100px'>\
<option value='127.0.0.1/32'>本地服务器</option>\
<option value=\"%\">所有人</option>\
<option value='0.0.0.0/0'>所有人</option>\
<option value='ip'>指定网段</option>\
</select>\
</div>\
@ -330,18 +330,18 @@ function setDbAccess(name){
if (rdata.msg == '127.0.0.1/32'){
$('select[name="dataAccess"]').find("option[value='127.0.0.1/32']").attr("selected",true);
} else if (rdata.msg == '0.0.0.0/0'){
$('select[name="dataAccess"]').find('option[value="%"]').attr("selected",true);
$('select[name="dataAccess"]').find('option[value="0.0.0.0/0"]').attr("selected",true);
} else {
$('select[name="dataAccess"]').find('option[value="ip"]').attr("selected",true);
$('select[name="dataAccess"]').after("<input value='"+rdata.msg+"' id='dataAccess_subid' class='bt-input-text mr5' type='text' name='address' placeholder='如: 192.168.1.0/24' style='width: 230px; display: inline-block;'>");
$('select[name="dataAccess"]').after("<input value='"+rdata.msg+"' class='bt-input-text mr5' type='text' name='address' placeholder='如: 192.168.1.0/24' style='width: 230px; display: inline-block;'>");
}
$('select[name="dataAccess"]').change(function(){
var v = $(this).val();
if (v == 'ip'){
$(this).after("<input id='dataAccess_subid' class='bt-input-text mr5' type='text' name='address' placeholder='如: 192.168.1.0/24' style='width: 230px; display: inline-block;'>");
$(this).after("<input class='bt-input-text mr5' type='text' name='address' placeholder='如: 192.168.1.0/24' style='width: 230px; display: inline-block;'>");
} else {
$('#dataAccess_subid').remove();
$('input[name="address"]').remove()
}
});
},
@ -360,6 +360,7 @@ function setDbAccess(name){
}
}
dataObj['name'] = name;
// console.log(dataObj);
myPost('set_db_access', dataObj, function(data){
var rdata = $.parseJSON(data.data);
showMsg(rdata.msg,function(){
@ -909,84 +910,6 @@ function delMasterRepSlaveUser(username){
});
}
function setDbMasterAccess(username){
myPost('get_db_access','username='+username, function(data){
var rdata = $.parseJSON(data.data);
if (!rdata.status){
layer.msg(rdata.msg,{icon:2,shade: [0.3, '#000']});
return;
}
var index = layer.open({
type: 1,
area: '500px',
title: '设置数据库权限',
closeBtn: 1,
shift: 5,
btn:["提交","取消"],
shadeClose: true,
content: "<form class='bt-form pd20' id='set_db_access'>\
<div class='line'>\
<span class='tname'>访问权限</span>\
<div class='info-r '>\
<select class='bt-input-text mr5' name='dataAccess' style='width:100px'>\
<option value='127.0.0.1'>本地服务器</option>\
<option value=\"%\">所有人</option>\
<option value='ip'>指定IP</option>\
</select>\
</div>\
</div>\
</form>",
success:function(){
if (rdata.msg == '127.0.0.1'){
$('select[name="dataAccess"]').find("option[value='127.0.0.1']").attr("selected",true);
} else if (rdata.msg == '%'){
$('select[name="dataAccess"]').find('option[value="%"]').attr("selected",true);
} else if ( rdata.msg == 'ip' ){
$('select[name="dataAccess"]').find('option[value="ip"]').attr("selected",true);
$('select[name="dataAccess"]').after("<input id='dataAccess_subid' class='bt-input-text mr5' type='text' name='address' placeholder='多个IP使用逗号(,)分隔' style='width: 230px; display: inline-block;'>");
} else {
$('select[name="dataAccess"]').find('option[value="ip"]').attr("selected",true);
$('select[name="dataAccess"]').after("<input value='"+rdata.msg+"' id='dataAccess_subid' class='bt-input-text mr5' type='text' name='address' placeholder='多个IP使用逗号(,)分隔' style='width: 230px; display: inline-block;'>");
}
$('select[name="dataAccess"]').change(function(){
var v = $(this).val();
if (v == 'ip'){
$(this).after("<input id='dataAccess_subid' class='bt-input-text mr5' type='text' name='address' placeholder='多个IP使用逗号(,)分隔' style='width: 230px; display: inline-block;'>");
} else {
$('#dataAccess_subid').remove();
}
});
},
yes:function(index){
var data = $("#set_db_access").serialize();
data = decodeURIComponent(data);
var dataObj = str2Obj(data);
if(!dataObj['access']){
dataObj['access'] = dataObj['dataAccess'];
if ( dataObj['dataAccess'] == 'ip'){
if (dataObj['address']==''){
layer.msg('IP地址不能空!',{icon:2,shade: [0.3, '#000']});
return;
}
dataObj['access'] = dataObj['address'];
}
}
dataObj['username'] = username;
myPost('set_dbmaster_access', dataObj, function(data){
var rdata = $.parseJSON(data.data);
showMsg(rdata.msg,function(){
layer.close(index);
},{icon: rdata.status ? 1 : 2});
});
}
});
});
}
function getMasterRepSlaveList(){
var _data = {};
if (typeof(page) =='undefined'){
@ -1012,9 +935,7 @@ function getMasterRepSlaveList(){
list += '<tr><td>'+name+'</td>\
<td>'+user_list[i]['password']+'</td>\
<td>\
<a class="btlink" onclick="updateMasterRepSlaveUser(\''+name+'\');">修改</a> | \
<a class="btlink" onclick="delMasterRepSlaveUser(\''+name+'\');">删除</a> | \
<a class="btlink" onclick="setDbMasterAccess(\''+name+'\');">权限</a>\
<a class="btlink" onclick="delMasterRepSlaveUser(\''+name+'\');">删除</a> \
</td>\
</tr>';
}