获取当前登录的老师信息

beetlsql3-dev
Mlxa0324 2 years ago
parent f2a33bf8c5
commit 7e5509cd0c

@ -24,6 +24,7 @@ import java.util.Map;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import static com.ibeetl.admin.core.service.CorePlatformService.T_STUDENT;
import static com.ibeetl.jlw.web.StudentController.studentMap; import static com.ibeetl.jlw.web.StudentController.studentMap;
/** /**
@ -138,7 +139,7 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
} }
actionLog.init(httpServletRequest,token,null == student?null:student.getStudentId(),null); actionLog.init(httpServletRequest,token,null == student?null:student.getStudentId(),null);
httpServletRequest.setAttribute("t_student",student); httpServletRequest.setAttribute(T_STUDENT,student);
return true; return true;
} }
return true; return true;

@ -36,6 +36,8 @@ import java.util.concurrent.Executors;
import java.util.concurrent.Future; import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicLong;
import static com.ibeetl.admin.core.service.CorePlatformService.T_STUDENT;
//将从request中获取的file获取出来并存入临时文件夹中 //将从request中获取的file获取出来并存入临时文件夹中
@Configuration @Configuration
@ -137,7 +139,7 @@ public class GetFile implements HandlerMethodArgumentResolver {
HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class); HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class);
//学生 //学生
Student student = null == request.getAttribute("t_student") ? null : (Student) request.getAttribute("t_student"); Student student = null == request.getAttribute(T_STUDENT) ? null : (Student) request.getAttribute(T_STUDENT);
//管理员(教师或管理员) //管理员(教师或管理员)
CoreUser user = null == request.getSession().getAttribute(CorePlatformService.ACCESS_CURRENT_USER)? null : (CoreUser) request.getSession().getAttribute(CorePlatformService.ACCESS_CURRENT_USER); CoreUser user = null == request.getSession().getAttribute(CorePlatformService.ACCESS_CURRENT_USER)? null : (CoreUser) request.getSession().getAttribute(CorePlatformService.ACCESS_CURRENT_USER);

@ -10,6 +10,8 @@ import org.springframework.web.method.support.ModelAndViewContainer;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import static com.ibeetl.admin.core.service.CorePlatformService.T_STUDENT;
//将从token中获取的member获取出来 //将从token中获取的member获取出来
@Configuration @Configuration
@ -33,7 +35,7 @@ public class GetTStudent implements HandlerMethodArgumentResolver {
HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class); HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class);
Student student = null == request.getAttribute("t_student") ? null : (Student) request.getAttribute("t_student"); Student student = null == request.getAttribute(T_STUDENT) ? null : (Student) request.getAttribute(T_STUDENT);
return student; return student;

@ -0,0 +1,45 @@
package cn.jlw.Interceptor;
import com.ibeetl.jlw.entity.Student;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.MethodParameter;
import org.springframework.web.bind.support.WebDataBinderFactory;
import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.ModelAndViewContainer;
import javax.servlet.http.HttpServletRequest;
import static com.ibeetl.admin.core.service.CorePlatformService.T_TEACHER;
//将从token中获取的老师信息出来
@Configuration
public class GetTTeacher implements HandlerMethodArgumentResolver {
public GetTTeacher() {
}
@Override
public boolean supportsParameter(MethodParameter parameter) {
if (parameter.getParameterType().isAssignableFrom(Student.class) && parameter.hasParameterAnnotation(TTeacher.class)) {
return true;
}
return false;
}
@Override
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
TTeacher tTeacher = parameter.getParameterAnnotation(TTeacher.class);
HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class);
Student student = null == request.getAttribute(T_TEACHER) ? null : (Student) request.getAttribute(T_TEACHER);
return student;
}
}

@ -34,6 +34,7 @@ public class InterceptorConfig implements WebMvcConfigurer, InitializingBean {
@Resource private GetSCoreUser getSCoreUser; @Resource private GetSCoreUser getSCoreUser;
@Resource private GetFile getFile; @Resource private GetFile getFile;
@Resource private GetTStudent getTStudent; @Resource private GetTStudent getTStudent;
@Resource private GetTTeacher getTTeacher;
@Resource private GetReferer getReferer; @Resource private GetReferer getReferer;
@Resource private GetIp getIp; @Resource private GetIp getIp;
@ -103,6 +104,7 @@ public class InterceptorConfig implements WebMvcConfigurer, InitializingBean {
argumentResolvers.add(getSCoreUser); argumentResolvers.add(getSCoreUser);
argumentResolvers.add(getFile); argumentResolvers.add(getFile);
argumentResolvers.add(getTStudent); argumentResolvers.add(getTStudent);
argumentResolvers.add(getTTeacher);
argumentResolvers.add(getReferer); argumentResolvers.add(getReferer);
argumentResolvers.add(getIp); argumentResolvers.add(getIp);
} }

@ -0,0 +1,12 @@
package cn.jlw.Interceptor;
import java.lang.annotation.*;
//将从token中获取的teacher获取出来
@Documented
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
public @interface TTeacher {
}

@ -3,6 +3,7 @@ package com.ibeetl.jlw.web;
import cn.jlw.Interceptor.RequestReferer; import cn.jlw.Interceptor.RequestReferer;
import cn.jlw.Interceptor.SCoreUser; import cn.jlw.Interceptor.SCoreUser;
import cn.jlw.Interceptor.TStudent; import cn.jlw.Interceptor.TStudent;
import cn.jlw.Interceptor.TTeacher;
import cn.jlw.token.TokenService; import cn.jlw.token.TokenService;
import cn.jlw.util.ToolUtils; import cn.jlw.util.ToolUtils;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@ -818,7 +819,7 @@ public class IndexController {
//跳转到电脑端首页 //跳转到电脑端首页
@RequestMapping("/index.do") @RequestMapping("/index.do")
public void index(HttpServletRequest request, HttpServletResponse response, @TStudent Student student) { public void index(HttpServletRequest request, HttpServletResponse response, @TTeacher Teacher teacher, @TStudent Student student, @SCoreUser CoreUser coreUser) {
//判断是老师还是学生 //判断是老师还是学生
if(null != student){//学生 if(null != student){//学生
try { try {

Loading…
Cancel
Save