|
@@ -3,6 +3,7 @@ package cn.com.qmth.stmms.api.interceptor;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
+import cn.com.qmth.stmms.admin.utils.SessionExamUtils;
|
|
|
import cn.com.qmth.stmms.common.session.model.StmmsSession;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -157,6 +158,13 @@ public class ApiInterceptor extends HandlerInterceptorAdapter {
|
|
|
private boolean buildApiUser(HttpServletRequest request, HttpServletResponse response, User user) {
|
|
|
ApiUser wu = new ApiUser(user);
|
|
|
if (wu != null) {
|
|
|
+ if(wu.getRole() == Role.SYS_ADMIN){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ Integer examId = SessionExamUtils.getExamId(request);
|
|
|
+ if(examId== null || examId<=0){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
if (wu.getRole() == Role.SUBJECT_HEADER || wu.getRole() == Role.INSPECTOR
|
|
|
|| wu.getRole() == Role.COLLEGE_ADMIN || wu.getRole() == Role.SCHOOL_VIEWER) {
|
|
|
wu.setSubjectCodeSet(subjectUserService.findSubjectCode(wu.getId()));
|
|
@@ -164,10 +172,12 @@ public class ApiInterceptor extends HandlerInterceptorAdapter {
|
|
|
RequestUtils.setRolePrivilegeCodes(request,
|
|
|
rolePrivilegeService.getRoleCodes(wu.getUser().getSchoolId(), wu.getRole()));
|
|
|
RequestUtils.setPrivileges(request, privilegeService.getMenuPrivileges());
|
|
|
+ RequestUtils.setApiUser(request, wu);
|
|
|
+ sessionService.put(request, response, RequestUtils.getSession(request));
|
|
|
+ return true;
|
|
|
+ }else{
|
|
|
+ return false;
|
|
|
}
|
|
|
- RequestUtils.setApiUser(request, wu);
|
|
|
- sessionService.put(request, response, RequestUtils.getSession(request));
|
|
|
- return true;
|
|
|
}
|
|
|
|
|
|
@Override
|