日志权限控制:仅管理员支持查询全部;普通用户仅支持查询有权限的 jobGroup
This commit is contained in:
parent
9329fb39e7
commit
211abb985b
|
@ -1,13 +1,10 @@
|
||||||
package com.xxl.job.admin.controller;
|
package com.xxl.job.admin.controller;
|
||||||
|
|
||||||
import com.xxl.job.admin.core.exception.XxlJobException;
|
|
||||||
import com.xxl.job.admin.core.model.XxlJobInfo;
|
import com.xxl.job.admin.core.model.XxlJobInfo;
|
||||||
import com.xxl.job.admin.core.model.XxlJobLogGlue;
|
import com.xxl.job.admin.core.model.XxlJobLogGlue;
|
||||||
import com.xxl.job.admin.core.model.XxlJobUser;
|
|
||||||
import com.xxl.job.admin.core.util.I18nUtil;
|
import com.xxl.job.admin.core.util.I18nUtil;
|
||||||
import com.xxl.job.admin.dao.XxlJobInfoDao;
|
import com.xxl.job.admin.dao.XxlJobInfoDao;
|
||||||
import com.xxl.job.admin.dao.XxlJobLogGlueDao;
|
import com.xxl.job.admin.dao.XxlJobLogGlueDao;
|
||||||
import com.xxl.job.admin.service.LoginService;
|
|
||||||
import com.xxl.job.core.biz.model.ReturnT;
|
import com.xxl.job.core.biz.model.ReturnT;
|
||||||
import com.xxl.job.core.glue.GlueTypeEnum;
|
import com.xxl.job.core.glue.GlueTypeEnum;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
|
@ -46,10 +43,7 @@ public class JobCodeController {
|
||||||
}
|
}
|
||||||
|
|
||||||
// valid permission
|
// valid permission
|
||||||
XxlJobUser loginUser = (XxlJobUser) request.getAttribute(LoginService.LOGIN_IDENTITY_KEY);
|
JobInfoController.validPermission(request, jobInfo.getJobGroup());
|
||||||
if (!loginUser.validPermission(jobInfo.getJobGroup())) {
|
|
||||||
throw new XxlJobException(I18nUtil.getString("system_permission_limit"));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Glue类型-字典
|
// Glue类型-字典
|
||||||
model.addAttribute("GlueTypeEnum", GlueTypeEnum.values());
|
model.addAttribute("GlueTypeEnum", GlueTypeEnum.values());
|
||||||
|
|
|
@ -83,6 +83,12 @@ public class JobInfoController {
|
||||||
}
|
}
|
||||||
return jobGroupList;
|
return jobGroupList;
|
||||||
}
|
}
|
||||||
|
public static void validPermission(HttpServletRequest request, int jobGroup) {
|
||||||
|
XxlJobUser loginUser = (XxlJobUser) request.getAttribute(LoginService.LOGIN_IDENTITY_KEY);
|
||||||
|
if (!loginUser.validPermission(jobGroup)) {
|
||||||
|
throw new RuntimeException(I18nUtil.getString("system_permission_limit"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@RequestMapping("/pageList")
|
@RequestMapping("/pageList")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
|
|
|
@ -61,7 +61,14 @@ public class JobLogController {
|
||||||
// 任务
|
// 任务
|
||||||
if (jobId > 0) {
|
if (jobId > 0) {
|
||||||
XxlJobInfo jobInfo = xxlJobInfoDao.loadById(jobId);
|
XxlJobInfo jobInfo = xxlJobInfoDao.loadById(jobId);
|
||||||
|
if (jobInfo == null) {
|
||||||
|
throw new RuntimeException(I18nUtil.getString("jobinfo_field_id") + I18nUtil.getString("system_unvalid"));
|
||||||
|
}
|
||||||
|
|
||||||
model.addAttribute("jobInfo", jobInfo);
|
model.addAttribute("jobInfo", jobInfo);
|
||||||
|
|
||||||
|
// valid permission
|
||||||
|
JobInfoController.validPermission(request, jobInfo.getJobGroup());
|
||||||
}
|
}
|
||||||
|
|
||||||
return "joblog/joblog.index";
|
return "joblog/joblog.index";
|
||||||
|
@ -76,10 +83,14 @@ public class JobLogController {
|
||||||
|
|
||||||
@RequestMapping("/pageList")
|
@RequestMapping("/pageList")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public Map<String, Object> pageList(@RequestParam(required = false, defaultValue = "0") int start,
|
public Map<String, Object> pageList(HttpServletRequest request,
|
||||||
|
@RequestParam(required = false, defaultValue = "0") int start,
|
||||||
@RequestParam(required = false, defaultValue = "10") int length,
|
@RequestParam(required = false, defaultValue = "10") int length,
|
||||||
int jobGroup, int jobId, int logStatus, String filterTime) {
|
int jobGroup, int jobId, int logStatus, String filterTime) {
|
||||||
|
|
||||||
|
// valid permission
|
||||||
|
JobInfoController.validPermission(request, jobGroup); // 仅管理员支持查询全部;普通用户仅支持查询有权限的 jobGroup
|
||||||
|
|
||||||
// parse param
|
// parse param
|
||||||
Date triggerTimeStart = null;
|
Date triggerTimeStart = null;
|
||||||
Date triggerTimeEnd = null;
|
Date triggerTimeEnd = null;
|
||||||
|
|
|
@ -216,6 +216,11 @@ $(function() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
logTable.on('xhr.dt',function(e, settings, json, xhr) {
|
||||||
|
if (json.code && json.code != 200) {
|
||||||
|
layer.msg( json.msg || I18n.system_api_error );
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// logTips alert
|
// logTips alert
|
||||||
$('#joblog_list').on('click', '.logTips', function(){
|
$('#joblog_list').on('click', '.logTips', function(){
|
||||||
|
|
|
@ -30,7 +30,9 @@
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-addon">${I18n.jobinfo_field_jobgroup}</span>
|
<span class="input-group-addon">${I18n.jobinfo_field_jobgroup}</span>
|
||||||
<select class="form-control" id="jobGroup" paramVal="<#if jobInfo?exists>${jobInfo.jobGroup}</#if>" >
|
<select class="form-control" id="jobGroup" paramVal="<#if jobInfo?exists>${jobInfo.jobGroup}</#if>" >
|
||||||
<option value="0" >${I18n.system_all}</option>
|
<#if Request["XXL_JOB_LOGIN_IDENTITY"].role == 1>
|
||||||
|
<option value="0" >${I18n.system_all}</option> <#-- 仅管理员支持查询全部;普通用户仅支持查询有权限的 jobGroup -->
|
||||||
|
</#if>
|
||||||
<#list JobGroupList as group>
|
<#list JobGroupList as group>
|
||||||
<option value="${group.id}" >${group.title}</option>
|
<option value="${group.id}" >${group.title}</option>
|
||||||
</#list>
|
</#list>
|
||||||
|
|
Loading…
Reference in New Issue