获取当前登录的老师信息

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.concurrent.ConcurrentHashMap;
import static com.ibeetl.admin.core.service.CorePlatformService.T_STUDENT;
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);
httpServletRequest.setAttribute("t_student",student);
httpServletRequest.setAttribute(T_STUDENT,student);
return true;
}
return true;

@ -36,6 +36,8 @@ import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicLong;
import static com.ibeetl.admin.core.service.CorePlatformService.T_STUDENT;
//将从request中获取的file获取出来并存入临时文件夹中
@Configuration
@ -137,7 +139,7 @@ public class GetFile implements HandlerMethodArgumentResolver {
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);

@ -10,6 +10,8 @@ import org.springframework.web.method.support.ModelAndViewContainer;
import javax.servlet.http.HttpServletRequest;
import static com.ibeetl.admin.core.service.CorePlatformService.T_STUDENT;
//将从token中获取的member获取出来
@Configuration
@ -33,7 +35,7 @@ public class GetTStudent implements HandlerMethodArgumentResolver {
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;

@ -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 GetFile getFile;
@Resource private GetTStudent getTStudent;
@Resource private GetTTeacher getTTeacher;
@Resource private GetReferer getReferer;
@Resource private GetIp getIp;
@ -103,6 +104,7 @@ public class InterceptorConfig implements WebMvcConfigurer, InitializingBean {
argumentResolvers.add(getSCoreUser);
argumentResolvers.add(getFile);
argumentResolvers.add(getTStudent);
argumentResolvers.add(getTTeacher);
argumentResolvers.add(getReferer);
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.SCoreUser;
import cn.jlw.Interceptor.TStudent;
import cn.jlw.Interceptor.TTeacher;
import cn.jlw.token.TokenService;
import cn.jlw.util.ToolUtils;
import com.alibaba.fastjson.JSONObject;
@ -818,7 +819,7 @@ public class IndexController {
//跳转到电脑端首页
@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){//学生
try {

Loading…
Cancel
Save