用户管理模块
1、用户类型添加 2、新增vpn服务器ip修改
This commit is contained in:
@@ -23,6 +23,7 @@ public class UserManage extends BaseEntity<UserManage>{
|
||||
private Date editTime;
|
||||
private Integer isValid;
|
||||
private String remarks;
|
||||
private String userType;
|
||||
|
||||
private String newUserPwd;
|
||||
private String oldUserName;//原用户名
|
||||
@@ -51,6 +52,14 @@ public class UserManage extends BaseEntity<UserManage>{
|
||||
private Integer functionId;
|
||||
private String isAudit;
|
||||
|
||||
|
||||
|
||||
public String getUserType() {
|
||||
return userType;
|
||||
}
|
||||
public void setUserType(String userType) {
|
||||
this.userType = userType;
|
||||
}
|
||||
public String getIsAudit() {
|
||||
return isAudit;
|
||||
}
|
||||
|
||||
@@ -745,5 +745,9 @@ public final class Constants {
|
||||
|
||||
public static final String POLICIES_MENU_ID=Configurations.getStringProperty("policies_menu_id", "86");
|
||||
|
||||
|
||||
public static final String NTC_IP_REUSE_USER_CREATE = Configurations.getStringProperty("userCreate","");
|
||||
public static final String NTC_IP_REUSE_USER_PASSWORD = Configurations.getStringProperty("userPasswordSet","");
|
||||
public static final String NTC_IP_REUSE_USER_DELETE = Configurations.getStringProperty("userDelete","");
|
||||
public static final String NTC_IP_REUSE_USER_GET = Configurations.getStringProperty("userGet","");
|
||||
public static final String NTC_IP_REUSE_USER_LIST = Configurations.getStringProperty("userList","");
|
||||
}
|
||||
|
||||
@@ -151,7 +151,7 @@ public class UserManageController extends BaseController{
|
||||
UserManage user=new UserManage();
|
||||
IpReuseIpCfg ipReuseIpCfg=ipReuseIpCfgService.getIpByIp(ip);
|
||||
//根据ip调用接口获取数据
|
||||
//user=userManageService.getUserManage(ip, request);
|
||||
//user=userManageService.getUserList(ip, request);
|
||||
if(ipReuseIpCfg!=null){
|
||||
user.setServerIp(ipReuseIpCfg.getDestIpAddress());
|
||||
user.setRemarks(ipReuseIpCfg.getCfgDesc());
|
||||
@@ -167,6 +167,7 @@ public class UserManageController extends BaseController{
|
||||
UserManage user=new UserManage();
|
||||
user=userManageService.getUserByLoginName(userName);
|
||||
IpReuseIpCfg ipReuseIpCfg=ipReuseIpCfgService.getIpByIp(serverIp);
|
||||
//user=userManageService.getUserManage(ip, request);
|
||||
if(ipReuseIpCfg!=null){
|
||||
user.setServerIp(ipReuseIpCfg.getDestIpAddress());
|
||||
user.setRemarks(ipReuseIpCfg.getCfgDesc());
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<result column="user_name" property="userName" jdbcType="VARCHAR"/>
|
||||
<result column="user_pwd" property="userPwd" jdbcType="VARCHAR"/>
|
||||
<result column="server_ip" property="serverIp" jdbcType="VARCHAR"/>
|
||||
<result column="user_type" property="userType" jdbcType="VARCHAR"/>
|
||||
<result column="is_valid" property="isValid" jdbcType="INTEGER"/>
|
||||
<result column="is_audit" property="isAudit" jdbcType="INTEGER" />
|
||||
<result column="creator_id" property="creatorId" jdbcType="INTEGER" />
|
||||
@@ -17,7 +18,7 @@
|
||||
</resultMap>
|
||||
|
||||
<sql id="Columns">
|
||||
r.ID,r.USER_NAME,r.USER_PWD,r.SERVER_IP,r.is_audit,
|
||||
r.ID,r.USER_NAME,r.USER_PWD,r.SERVER_IP,r.user_type,r.is_audit,
|
||||
r.IS_VALID,r.CREATOR_ID,r.CREATE_TIME,r.EDITOR_ID,r.EDIT_TIME,remarks
|
||||
</sql>
|
||||
|
||||
@@ -46,6 +47,9 @@
|
||||
<if test="serverIp != null and serverIp != ''">
|
||||
AND r.server_ip like concat(concat('%',#{serverIp,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
<if test="userType != null and userType != ''">
|
||||
AND r.user_type =#{userType,jdbcType=VARCHAR}
|
||||
</if>
|
||||
<if test="remarks != null and remarks != ''">
|
||||
AND r.remarks like concat(concat('%',#{remarks,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
@@ -74,6 +78,7 @@
|
||||
USER_NAME,
|
||||
USER_PWD,
|
||||
SERVER_IP,
|
||||
user_type,
|
||||
IS_VALID,
|
||||
is_audit,
|
||||
CREATOR_ID,
|
||||
@@ -85,6 +90,7 @@
|
||||
#{userName,jdbcType=VARCHAR},
|
||||
#{userPwd,jdbcType=VARCHAR},
|
||||
#{serverIp,jdbcType=VARCHAR},
|
||||
#{userType,jdbcType=VARCHAR},
|
||||
#{isValid,jdbcType=INTEGER},
|
||||
0,
|
||||
#{creatorId,jdbcType=INTEGER},
|
||||
@@ -110,6 +116,9 @@
|
||||
</if>
|
||||
<if test="serverIp != null and serverIp != ''" >
|
||||
server_ip = #{serverIp,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="userType != null and userType != ''">
|
||||
user_type =#{userType,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="creatorId != null" >
|
||||
creator_id = #{creatorId,jdbcType=INTEGER},
|
||||
|
||||
@@ -106,13 +106,13 @@ public class UserManageService extends BaseService{
|
||||
}
|
||||
|
||||
//根据vpn服务器ip获取用户vpn服务器ip信息
|
||||
public UserManage getUserManage(String serverIp,HttpServletRequest request){
|
||||
public UserManage getUser(String serverIp,HttpServletRequest request){
|
||||
UserManage user=new UserManage();
|
||||
/*Map<String, Object> params = new HashMap<String, Object>();
|
||||
Map<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("server_ip", serverIp);
|
||||
try{
|
||||
String url ="URL"+ Constants.NTC_IP_REUSE_USER_LIST;
|
||||
String recv = HttpClientUtil.getUserMsg(url, params, request);
|
||||
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||
logger.info("查询结果:" + recv);
|
||||
if (StringUtils.isNotBlank(recv)) {
|
||||
Gson gson = new GsonBuilder().create();
|
||||
@@ -123,10 +123,32 @@ public class UserManageService extends BaseService{
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("查询失败", e);
|
||||
}*/
|
||||
}
|
||||
return user;
|
||||
}
|
||||
|
||||
//根据vpn服务器ip,用户名获取用户信息
|
||||
public UserManage getUserManage(String serverIp,String userName,HttpServletRequest request){
|
||||
UserManage user=new UserManage();
|
||||
Map<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("server_ip", serverIp);
|
||||
params.put("user_name", userName);
|
||||
try{
|
||||
String url ="URL"+ Constants.NTC_IP_REUSE_USER_GET;
|
||||
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||
logger.info("查询结果:" + recv);
|
||||
if (StringUtils.isNotBlank(recv)) {
|
||||
Gson gson = new GsonBuilder().create();
|
||||
LogRecvData<UserManage> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<UserManage>>(){}.getType());
|
||||
if (fromJson.getStatus().intValue() == 200) {
|
||||
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("查询失败", e);
|
||||
}
|
||||
return user;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param isAudit
|
||||
|
||||
@@ -560,3 +560,8 @@ poolcm_socket_timeout=3000
|
||||
app_vignore_user_region_key=VIGNORE
|
||||
#policies\u83DC\u5355\u7684\u83DC\u5355ID
|
||||
policies_menu_id=86
|
||||
userCreate=UserCreate
|
||||
userPasswordSet=UserPasswordSet
|
||||
userDelete=UserDelete
|
||||
userGet=UserGet
|
||||
userList=UserList
|
||||
@@ -10,6 +10,8 @@
|
||||
$("#intype").val("${cfg.userName}");
|
||||
} else if("${cfg.remarks}"){
|
||||
$("#intype").val("${cfg.remarks}");
|
||||
} else if("${cfg.serverIp}"){
|
||||
$("#intype").val("${cfg.serverIp}");
|
||||
} else{
|
||||
$("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text());
|
||||
}
|
||||
@@ -41,6 +43,7 @@
|
||||
$("#exportValue").val($("#intype").val());
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
@@ -77,37 +80,37 @@
|
||||
html+="</tr>";
|
||||
}
|
||||
$("#userTable tbody").prepend(html);
|
||||
openWindow();
|
||||
openWindow('light');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function openWindow(){
|
||||
document.getElementById('light').style.display='block';
|
||||
function addVpnIp(id,serverIp,userName){
|
||||
$("#spUserName").text(userName)
|
||||
$("#serverIpId").val(serverIp);
|
||||
$("#serverIpName").val(serverIp);
|
||||
$("#userId").val(id);
|
||||
openWindow('light2');
|
||||
}
|
||||
function saveIp(){
|
||||
if($("#serverIpId").val()==null || $("#serverIpId").val()==''){
|
||||
top.$.jBox.tip("<spring:message code='vpn_ip'/> <spring:message code='required'/>","");
|
||||
}else{
|
||||
window.location.href="${ctx}/maintenance/userManage/save?id="+$("#userId").val()+"&serverIp="+$("#serverIpId").val();
|
||||
$("#submitIp").attr('disabled',"true");
|
||||
}
|
||||
}
|
||||
function openWindow(type){
|
||||
document.getElementById(type).style.display='block';
|
||||
document.getElementById('fade').style.display='block';
|
||||
}
|
||||
function closeWindow(){
|
||||
document.getElementById('light').style.display='none';
|
||||
function closeWindow(type){
|
||||
document.getElementById(type).style.display='none';
|
||||
document.getElementById('fade').style.display='none';
|
||||
}
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
.revisionBox {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
span.label.label-success{
|
||||
width: 250px;
|
||||
}
|
||||
.popover {
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
.btn.purple-stripe {
|
||||
border-left: 3px solid #852B99;
|
||||
}
|
||||
.black_overlay{
|
||||
display: none;
|
||||
position: absolute;
|
||||
@@ -124,7 +127,7 @@
|
||||
.white_content {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 15%;
|
||||
top: 20%;
|
||||
left: 20%;
|
||||
width: 60%;
|
||||
height: 480px;
|
||||
@@ -136,6 +139,24 @@
|
||||
-webkit-box-shadow: 2px 2px 10px #909090;
|
||||
box-shadow:2px 2px 10px #909090;
|
||||
}
|
||||
.white_vpn{
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 15%;
|
||||
left: 25%;
|
||||
width: 615px;
|
||||
height: 230px;
|
||||
border: 1px solid 42403e52;
|
||||
background-color: white;
|
||||
z-index:1002;
|
||||
overflow: auto;
|
||||
-moz-box-shadow: 2px 2px 10px #909090;
|
||||
-webkit-box-shadow: 2px 2px 10px #909090;
|
||||
box-shadow:2px 2px 10px #909090;
|
||||
}
|
||||
.input_w{
|
||||
width: 350px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@@ -169,6 +190,7 @@
|
||||
<div class="input-group-btn">
|
||||
<form:select path="seltype" class="selectpicker select2 input-small" >
|
||||
<form:option value="userName"><spring:message code="user_name"></spring:message></form:option>
|
||||
<form:option value="serverIp"><spring:message code="vpn_ip"></spring:message></form:option>
|
||||
<form:option value="remarks"><spring:message code="desc"></spring:message></form:option>
|
||||
</form:select>
|
||||
|
||||
@@ -252,7 +274,7 @@
|
||||
<tr>
|
||||
<th><input type="checkbox" class="i-checks" id="checkAll"></th>
|
||||
<th><spring:message code="user_name"/></th>
|
||||
<%-- <th><spring:message code="vpn_ip"/></th> --%>
|
||||
<th><spring:message code="vpn_ip"/></th>
|
||||
<th><spring:message code="desc"/></th>
|
||||
<th><spring:message code="creator"/></th>
|
||||
<th class="sort-column a.create_time"><spring:message code="config_time"/></th>
|
||||
@@ -268,7 +290,7 @@
|
||||
<input type="checkbox" class="i-checks child-checks" id="${indexCfg.id}" isValid="${cfg.isValid}" value="0" >
|
||||
</td>
|
||||
<td>${indexCfg.userName }</td>
|
||||
<%-- <td>${indexCfg.serverIp }</td> --%>
|
||||
<td><a href="javascript:dictDetail('${indexCfg.serverIp}','${indexCfg.userName}')">${indexCfg.serverIp }</a></td>
|
||||
<td>${indexCfg.remarks }</td>
|
||||
<td>${indexCfg.creatorName }</td>
|
||||
<td><fmt:formatDate value="${indexCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
||||
@@ -279,8 +301,7 @@
|
||||
<a class="btn btn-primary" href="#"><i class="icon-cogs"></i> <spring:message code="operation"/></a>
|
||||
<a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="javascript:dictDetail('${indexCfg.serverIp}','${indexCfg.userName}')"><i class="icon-list"></i> <spring:message code="detail"/></a></li>
|
||||
<li><a href="${ctx}/basics/vpn/addForm?functionId=636&type=userIp"><i class="fa fa-plus"></i><spring:message code="add"/> <spring:message code="vpn_ip"/></a></li>
|
||||
<li><a href="javascript:addVpnIp('${indexCfg.id}','${indexCfg.serverIp}','${indexCfg.userName}')"><i class="fa fa-plus"></i><spring:message code="add"/> <spring:message code="vpn_ip"/></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
@@ -300,24 +321,59 @@
|
||||
<div id="light" class="white_content">
|
||||
<div class="jbox-title-panel" style="border-bottom: 1px solid #b9b9b9;height: 40px;width: 100%;padding: 11px;">
|
||||
<span style="font-size: 16px;"><spring:message code="user_list"/></span>
|
||||
<a href="javascript:void(0)" onClick="closeWindow()" style="text-decoration: none;color: #777777;float: right;" > X</a>
|
||||
<a href="javascript:void(0)" onClick="closeWindow('light')" style="text-decoration: none;color: #777777;float: right;" > X</a>
|
||||
</div>
|
||||
<div style='font-size: 14px;height: 405px;overflow: auto;' align='center'>
|
||||
<table id="userTable" class='table table-bordered table-condensed' style='width:98%;margin-top: 10px;' >
|
||||
<thead>
|
||||
<th><spring:message code="user_name"/></th>
|
||||
<th><spring:message code="vpn_ip"/></th>
|
||||
<th><spring:message code="num_logins"/></th>
|
||||
<th><spring:message code="last_login"/></th>
|
||||
<th><spring:message code="transfer_packets"/></th>
|
||||
<th><spring:message code="transfer_bytes"/></th>
|
||||
<th><spring:message code="desc"/></th>
|
||||
<thead style="font-weight:bold;">
|
||||
<td><spring:message code="user_name"/></td>
|
||||
<td><spring:message code="vpn_ip"/></td>
|
||||
<td><spring:message code="num_logins"/></td>
|
||||
<td><spring:message code="last_login"/></td>
|
||||
<td><spring:message code="transfer_packets"/></td>
|
||||
<td><spring:message code="transfer_bytes"/></td>
|
||||
<td><spring:message code="desc"/></td>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div style="border-top: 1px solid #b9b9b9;padding: 4px;background: #eee;height: 35px;">
|
||||
<button onclick="closeWindow();" style="float: right;"><spring:message code="close"/></button>
|
||||
<button onclick="closeWindow('light');" style="float: right;"><spring:message code="close"/></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="light2" class="white_vpn">
|
||||
<div class="jbox-title-panel" style="border-bottom: 1px solid #b9b9b9;height: 40px;width: 100%;padding: 11px;">
|
||||
<span style="font-size: 16px;"><spring:message code="vpn_ip"/></span>
|
||||
<a href="javascript:void(0)" onClick="closeWindow('light2')" style="text-decoration: none;color: #777777;float: right;" > X</a>
|
||||
</div>
|
||||
<input type="hidden" id="userId"/>
|
||||
<table border="0" style="width: 80%;line-height: 35px;margin-top: 15px;margin-left: 40px;">
|
||||
<tr>
|
||||
<td align="right"><spring:message code="user_name" /> </td>
|
||||
<td width="320px;" ><span id='spUserName'></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><spring:message code="vpn_ip" /> </td>
|
||||
<td width="320px;">
|
||||
<sys:treeselect id="serverIp" name="serverIp"
|
||||
value="${user.serverIp}" labelName="user.serverIp"
|
||||
notAllowSelectParent="true" enableSearch="true"
|
||||
notAllowSelectRoot="true" checkedPS="ps" unCheckedPS="ps"
|
||||
labelValue="${user.serverIp}" title="vpn_ip"
|
||||
url="/maintenance/userManage/treeData?isLeafShow=false&cfgType=3&specific=true" extId="0"
|
||||
checked="true" cssClass="form-control required" />
|
||||
</td>
|
||||
<td width="30px;"><span class="help-inline"><font color="red" id='red'>*</font> </span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="form-actions" style="margin-top: 30px;">
|
||||
<button type="submit" class="btn green" id="submitIp" onClick="return saveIp()" style="margin-left: 70px;" >
|
||||
<spring:message code="submit" />
|
||||
</button>
|
||||
<button type="button" class="btn default" onClick="closeWindow('light2')">
|
||||
<spring:message code="cancel" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="fade" class="black_overlay"></div>
|
||||
|
||||
@@ -98,13 +98,27 @@
|
||||
value="${user.serverIp}" labelName="user.serverIp"
|
||||
notAllowSelectParent="true" enableSearch="true"
|
||||
notAllowSelectRoot="true" checkedPS="ps" unCheckedPS="ps"
|
||||
labelValue="${user.serverIp}" title="${vpn_ip}"
|
||||
labelValue="${user.serverIp}" title="vpn_ip"
|
||||
url="/maintenance/userManage/treeData?isLeafShow=false&cfgType=3&specific=true" extId="0"
|
||||
checked="true" cssClass="form-control required" />
|
||||
</div>
|
||||
<span class="help-inline"><font color="red">*</font> </span>
|
||||
<div for="user.serverIp"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group hidden">
|
||||
<label class="col-md-3 control-label"><spring:message
|
||||
code="user_name" /></label>
|
||||
<div class="col-md-4">
|
||||
<select name="userType" data-live-search="true" class="selectpicker form-control required">
|
||||
<c:forEach items="${fns:getDictList('USER_TYPE')}" var="userTypes">
|
||||
<option value="${userTypes.itemCode}" <c:if test="${user.userType==userTypes.itemCode || (user.userType==null && userTypes.itemCode eq '0')}">selected</c:if>><spring:message code="${userTypes.itemValue}"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<span class="help-inline"><font color="red">*</font> </span>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label"><spring:message
|
||||
code="user_name" /></label>
|
||||
|
||||
Reference in New Issue
Block a user