diff --git a/plugins/postgresql/index.py b/plugins/postgresql/index.py
index 63643bc2a..c4e3e120b 100755
--- a/plugins/postgresql/index.py
+++ b/plugins/postgresql/index.py
@@ -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, "设置成功")
diff --git a/plugins/postgresql/js/postgresql.js b/plugins/postgresql/js/postgresql.js
index ced6d8174..4f41d48b7 100755
--- a/plugins/postgresql/js/postgresql.js
+++ b/plugins/postgresql/js/postgresql.js
@@ -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){
\
\
\
@@ -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("");
+ $('select[name="dataAccess"]').after("");
}
$('select[name="dataAccess"]').change(function(){
var v = $(this).val();
if (v == 'ip'){
- $(this).after("");
+ $(this).after("");
} 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: "",
- 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("");
- } else {
- $('select[name="dataAccess"]').find('option[value="ip"]').attr("selected",true);
- $('select[name="dataAccess"]').after("");
- }
-
- $('select[name="dataAccess"]').change(function(){
- var v = $(this).val();
- if (v == 'ip'){
- $(this).after("");
- } 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 += '| '+name+' | \
'+user_list[i]['password']+' | \
\
- 修改 | \
- 删除 | \
- 权限\
+ 删除 \
| \
';
}