diff --git a/admin-core/src/main/java/com/ibeetl/admin/core/enums/MenuEnums.java b/admin-core/src/main/java/com/ibeetl/admin/core/enums/MenuEnums.java
index 5e6706d0..663d25a5 100644
--- a/admin-core/src/main/java/com/ibeetl/admin/core/enums/MenuEnums.java
+++ b/admin-core/src/main/java/com/ibeetl/admin/core/enums/MenuEnums.java
@@ -1,5 +1,7 @@
 package com.ibeetl.admin.core.enums;
 
+import static com.ibeetl.admin.core.service.CorePlatformService.*;
+
 /**
  * 数据字典 枚举
  * @author lx
@@ -7,27 +9,34 @@ package com.ibeetl.admin.core.enums;
 public enum MenuEnums {
 
     // 岗位类型
-    JT_01("管理岗位"),
-    JT_02("操作岗位"),
+    JT_01("管理岗位", null),
+    JT_02("操作岗位", null),
 
     // 管理岗位子类型
-    JT_S_01("系统管理员"),
-    JT_S_02("教师管理员"),
-    JT_S_04("院校管理员"),
+    JT_S_01("系统管理员", T_ADMIN),
+    JT_S_02("教师管理员", null),
+    JT_S_04("院校管理员", T_COLLEGES_ADMIN),
 
     // 操作岗位子类型
-    JT_S_03("学生"),
-    JT_S_05("教师");
+    JT_S_03("学生", T_STUDENT),
+    JT_S_05("教师", T_TEACHER);
 
     private String name;
+    private String attributeName;
+
+    private
 
-    MenuEnums(String name) {
+    MenuEnums(String name, String attributeName) {
         this.name = name;
+        this.attributeName = attributeName;
     }
 
     public String getName() {
         return name;
     }
+    public String getAttributeName() {
+        return attributeName;
+    }
 
     /**
      * 提前判断,用于解决
diff --git a/admin-core/src/main/java/com/ibeetl/admin/core/service/CorePlatformService.java b/admin-core/src/main/java/com/ibeetl/admin/core/service/CorePlatformService.java
index a570e119..3751c8f7 100644
--- a/admin-core/src/main/java/com/ibeetl/admin/core/service/CorePlatformService.java
+++ b/admin-core/src/main/java/com/ibeetl/admin/core/service/CorePlatformService.java
@@ -65,9 +65,11 @@ public class CorePlatformService {
     public static final String T_TEACHER = "t_teacher";
     // 学生,session用户信息Key
     public static final String T_STUDENT = "t_student";
+    // 超级管理员,session用户信息Key
+    public static final String T_ADMIN = "t_admin";
 
     /** Token key */
-    public static final String TOKEN_KEY = "student:token";
+    public static final String TOKEN_KEY = "core:token";
 
 	@Resource HttpRequestLocal httpRequestLocal;
     @Resource CoreRoleMenuDao sysRoleMenuDao;
diff --git a/web/src/main/java/cn/jlw/Interceptor/AuthenticationInterceptor.java b/web/src/main/java/cn/jlw/Interceptor/AuthenticationInterceptor.java
index 05b21453..d7d1eea0 100644
--- a/web/src/main/java/cn/jlw/Interceptor/AuthenticationInterceptor.java
+++ b/web/src/main/java/cn/jlw/Interceptor/AuthenticationInterceptor.java
@@ -7,7 +7,9 @@ import com.auth0.jwt.JWTVerifier;
 import com.auth0.jwt.algorithms.Algorithm;
 import com.auth0.jwt.exceptions.JWTDecodeException;
 import com.auth0.jwt.exceptions.JWTVerificationException;
-import com.ibeetl.jlw.entity.Student;
+import com.auth0.jwt.interfaces.DecodedJWT;
+import com.ibeetl.jlw.entity.TokenInterface;
+import com.ibeetl.jlw.service.WebPlatformService;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -24,8 +26,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;
+import static cn.jlw.token.TokenService.tokenMap;
 
 /**
  * @author TLT
@@ -90,8 +91,11 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
         if (StringUtils.isNotBlank(token)) {
             // 获取 token 中的 memberId或openId
             String id;
+            String attributeName;
             try {
-                id = JWT.decode(token).getAudience().get(0);
+                DecodedJWT decode = JWT.decode(token);
+                id = decode.getAudience().get(0);
+                attributeName = decode.getClaim(id).as(String.class);
             } catch (JWTDecodeException j) {
                 System.out.println("有误的token:"+token);
                 actionLog.delByUUId(httpServletRequest);
@@ -105,11 +109,11 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
                 httpServletResponse.getWriter().write(JSONArray.toJSONString(map));
                 return false;
             }
-            Student student = null;
+            TokenInterface tokenInterface = null;
             try{
-                student = ToolUtils.deepCopy(studentMap.get(Long.parseLong(id)));
+                tokenInterface = ToolUtils.deepCopy(tokenMap.get(attributeName + "_" + id));
             }catch (Exception e){}
-            if (student == null) {
+            if (tokenInterface == null) {
                 actionLog.delByUUId(httpServletRequest);
 
                 Map<String,Object>map = new HashMap<>();
@@ -122,7 +126,7 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
             }
 
             // 验证 token
-            JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256((student.getAddTime().getTime())+"")).build();
+            JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256((tokenInterface.getAddTime().getTime())+"")).build();
             try {
                 jwtVerifier.verify(token);
             } catch (JWTVerificationException e) {
@@ -137,9 +141,15 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
                 httpServletResponse.getWriter().write(JSONArray.toJSONString(map));
                 return false;
             }
-            actionLog.init(httpServletRequest,token,null == student?null:student.getStudentId(),null);
-
-            httpServletRequest.setAttribute(T_STUDENT,student);
+            actionLog.init(httpServletRequest,token,null == tokenInterface?null: Long.valueOf(tokenInterface.getId()),null);
+
+            /** 根据身份,插入到Session。Key是不用的。
+             *  供这里使用 {@link WebPlatformService#getUserInfoFromSessionByIdentity}
+             */
+//            attributeName = tokenInterface.getIdentity().getAttributeName();
+            if (StringUtils.isNotBlank(attributeName)) {
+                httpServletRequest.setAttribute(attributeName, tokenInterface);
+            }
             return true;
         }
         return true;
diff --git a/web/src/main/java/cn/jlw/token/TokenService.java b/web/src/main/java/cn/jlw/token/TokenService.java
index 3fa8829c..39dea5a1 100644
--- a/web/src/main/java/cn/jlw/token/TokenService.java
+++ b/web/src/main/java/cn/jlw/token/TokenService.java
@@ -1,5 +1,7 @@
 package cn.jlw.token;
 
+import cn.hutool.core.collection.CollectionUtil;
+import cn.jlw.util.SpringContextUtil;
 import cn.jlw.util.ToolUtils;
 import com.auth0.jwt.JWT;
 import com.auth0.jwt.JWTVerifier;
@@ -8,14 +10,22 @@ import com.auth0.jwt.exceptions.JWTDecodeException;
 import com.auth0.jwt.exceptions.JWTVerificationException;
 import com.ibeetl.admin.core.util.HttpRequestLocal;
 import com.ibeetl.jlw.entity.Student;
+import com.ibeetl.jlw.entity.Teacher;
+import com.ibeetl.jlw.entity.TokenInterface;
+import com.ibeetl.jlw.service.StudentService;
+import com.ibeetl.jlw.service.TeacherService;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 import static com.ibeetl.admin.core.service.CorePlatformService.TOKEN_KEY;
-import static com.ibeetl.jlw.web.StudentController.studentMap;
 
 @Service
 public class TokenService {
@@ -25,17 +35,82 @@ public class TokenService {
     @Resource
     HttpRequestLocal httpRequestLocal;
 
-    public String getToken(Student student) {
+    //静态参数
 
+    public static Map<String, TokenInterface> tokenMap = new ConcurrentHashMap<>();
+
+    //初始化
+    public static void init(){
+        StudentService studentService = (StudentService) SpringContextUtil.getBean("studentService");
+        TeacherService teacherService = (TeacherService) SpringContextUtil.getBean("teacherService");
+        List<Student> studentList = studentService.getValues(null);
+        List<Teacher> teacherList = teacherService.getValues(null);
+
+        List<TokenInterface> lists = new ArrayList<>(16);
+        if (CollectionUtil.isNotEmpty(studentList)) {
+            lists.addAll(studentList);
+        }
+        if (CollectionUtil.isNotEmpty(studentList)) {
+            lists.addAll(teacherList);
+        }
+
+        for (TokenInterface tokenInterface : lists) {
+            String tokenKey = tokenInterface.getIdentity().getAttributeName() + "_" + tokenInterface.getId();
+            tokenMap.put(tokenKey, tokenInterface);
+        }
+    }
+
+    //更新缓存
+    public static void updateByIds(String ids){
+        StudentService studentService = (StudentService) SpringContextUtil.getBean("studentService");
+        TeacherService teacherService = (TeacherService) SpringContextUtil.getBean("teacherService");
+        List<Student> studentList = studentService.getByIds(ids);
+        List<Teacher> teacherList = teacherService.getByIds(ids);
+
+        List<TokenInterface> lists = new ArrayList<>(16);
+        if (CollectionUtil.isNotEmpty(studentList)) {
+            lists.addAll(studentList);
+        }
+        if (CollectionUtil.isNotEmpty(studentList)) {
+            lists.addAll(teacherList);
+        }
+
+        for (TokenInterface tokenInterface : lists) {
+            String tokenKey = tokenInterface.getIdentity().getAttributeName() + "_" + tokenInterface.getId();
+            tokenMap.put(tokenKey, tokenInterface);
+        }
+    }
+
+    //获取会员信息简述,合并了微信信息
+    public static TokenInterface getTokenInterfaceInfo(String tokenId) {
+        TokenInterface tokenInterface = ToolUtils.deepCopy(tokenMap.get(tokenId));
+        return tokenInterface;
+    }
+
+    public static Map<String,Object> getMap(TokenInterface tokenInterface, TokenService tokenService){
+        TokenInterface student = ToolUtils.deepCopy(tokenInterface);
+        Map<String,Object> map = new HashMap<>();
+        //生成token
+        String token = tokenService.getToken(student);
+        map.put("token",token);
+        map.put("member", getTokenInterfaceInfo(tokenInterface.getId()));
+        return map;
+    }
+
+
+    public String getToken(TokenInterface tokenInterface) {
 
         String token="";
         token= JWT.create()
-                .withAudience(student.getStudentId().toString())
-                .sign(Algorithm.HMAC256((student.getAddTime().getTime())+""));
+                .withAudience(tokenInterface.getId())
+                .withClaim(tokenInterface.getId(), tokenInterface.getIdentity().getAttributeName())
+                .sign(Algorithm.HMAC256((tokenInterface.getAddTime().getTime()) + ""));
 
-        token = token+"."+System.currentTimeMillis(); //加时间戳区分登陆不同设备的同一个账户
+        //加时间戳区分登陆不同设备的同一个账户
+        token = token+"."+System.currentTimeMillis();
 
-        httpRequestLocal.setSessionValue(TOKEN_KEY, token);//丢到session里面
+        //丢到session里面
+        httpRequestLocal.setSessionValue(TOKEN_KEY, token);
 
         return token;
     }
@@ -56,19 +131,19 @@ public class TokenService {
             j.printStackTrace();
             return null;
         }
-        Student student = null;
+        TokenInterface tokenInterface = null;
         try{
-            student = ToolUtils.deepCopy(studentMap.get(Long.parseLong(id)));
+            tokenInterface = ToolUtils.deepCopy(tokenMap.get(Long.parseLong(id)));
         }catch (Exception e){}
 
         // 验证 token
-        JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256((student.getAddTime().getTime())+"")).build();
+        JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256((tokenInterface.getAddTime().getTime())+"")).build();
         try {
             jwtVerifier.verify(token);
         } catch (JWTVerificationException e) {
             return null;
         }
-        Object o[] = {student,null};
+        Object o[] = {tokenInterface , null};
         return o;
     }
 
diff --git a/web/src/main/java/com/ibeetl/jlw/entity/Student.java b/web/src/main/java/com/ibeetl/jlw/entity/Student.java
index 4593e1e7..706ff0ea 100644
--- a/web/src/main/java/com/ibeetl/jlw/entity/Student.java
+++ b/web/src/main/java/com/ibeetl/jlw/entity/Student.java
@@ -3,6 +3,7 @@ package com.ibeetl.jlw.entity;
 import cn.jlw.validate.ValidateConfig;
 import com.ibeetl.admin.core.annotation.Dict;
 import com.ibeetl.admin.core.entity.BaseEntity;
+import com.ibeetl.admin.core.enums.MenuEnums;
 import org.beetl.sql.annotation.entity.AutoID;
 import org.beetl.sql.fetch.annotation.Fetch;
 import org.beetl.sql.fetch.annotation.FetchOne;
@@ -16,7 +17,7 @@ import java.util.Date;
 * gen by Spring Boot2 Admin 2021-06-19
 */
 @Fetch
-public class Student extends BaseEntity{
+public class Student extends BaseEntity implements TokenInterface {
 
     //ID
     @NotNull(message = "请选择需要修改的学生", groups =ValidateConfig.UPDATE.class)
@@ -251,4 +252,14 @@ public class Student extends BaseEntity{
     public void setSchoolClass(SchoolClass schoolClass) {
         this.schoolClass = schoolClass;
     }
+
+    @Override
+    public String getId() {
+        return this.getStudentId().toString();
+    }
+
+    @Override
+    public MenuEnums getIdentity() {
+        return MenuEnums.JT_S_03;
+    }
 }
diff --git a/web/src/main/java/com/ibeetl/jlw/entity/Teacher.java b/web/src/main/java/com/ibeetl/jlw/entity/Teacher.java
index b388718a..158f4c8f 100644
--- a/web/src/main/java/com/ibeetl/jlw/entity/Teacher.java
+++ b/web/src/main/java/com/ibeetl/jlw/entity/Teacher.java
@@ -3,8 +3,8 @@ package com.ibeetl.jlw.entity;
 import cn.jlw.validate.ValidateConfig;
 import com.ibeetl.admin.core.annotation.Dict;
 import com.ibeetl.admin.core.entity.BaseEntity;
+import com.ibeetl.admin.core.enums.MenuEnums;
 import org.beetl.sql.annotation.entity.AutoID;
-import org.beetl.sql.annotation.entity.SeqID;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
@@ -14,7 +14,7 @@ import java.util.Date;
 * 教师管理
 * gen by Spring Boot2 Admin 2021-06-19
 */
-public class Teacher extends BaseEntity{
+public class Teacher extends BaseEntity implements TokenInterface{
 
     //ID
     @NotNull(message = "请选择需要修改的教师", groups =ValidateConfig.UPDATE.class)
@@ -233,4 +233,13 @@ public class Teacher extends BaseEntity{
         return code;
     }
 
+    @Override
+    public String getId() {
+        return getTeacherId().toString();
+    }
+
+    @Override
+    public MenuEnums getIdentity() {
+        return MenuEnums.JT_S_05;
+    }
 }
diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TokenInterface.java b/web/src/main/java/com/ibeetl/jlw/entity/TokenInterface.java
new file mode 100644
index 00000000..3606b4be
--- /dev/null
+++ b/web/src/main/java/com/ibeetl/jlw/entity/TokenInterface.java
@@ -0,0 +1,31 @@
+package com.ibeetl.jlw.entity;
+
+import com.ibeetl.admin.core.enums.MenuEnums;
+
+import java.util.Date;
+
+/**
+* Token 的抽象
+*
+ * @author mlx
+*/
+public interface TokenInterface {
+
+    /**
+     * 主键ID
+     * @return
+     */
+    String getId();
+
+    /**
+     * 身份枚举
+     * @return
+     */
+    MenuEnums getIdentity();
+
+    /**
+     * 添加时间
+     * @return
+     */
+    Date getAddTime();
+}
diff --git a/web/src/main/java/com/ibeetl/jlw/service/StudentService.java b/web/src/main/java/com/ibeetl/jlw/service/StudentService.java
index 63fc50e0..b5f41698 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/StudentService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/StudentService.java
@@ -643,7 +643,7 @@ public class StudentService extends CoreBaseService<Student>{
     }
 
     public List<Student> getValues (Object paras){
-        return sqlManager.select(SqlId.of("jlw.student.getStudentValues"),Student.class,paras);
+        return sqlManager.select(SqlId.of("jlw.student.getStudentValues"), Student.class, paras);
     }
 
     public List<Student> getValuesByQuery (StudentQuery studentQuery){
diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java
index b88ef948..0106795f 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java
@@ -1,6 +1,7 @@
 package com.ibeetl.jlw.service;
 
 
+import cn.hutool.core.util.ObjectUtil;
 import cn.jlw.util.ToolUtils;
 import com.ibeetl.admin.console.service.UserConsoleService;
 import com.ibeetl.admin.core.dao.CoreUserRoleDao;
@@ -51,7 +52,7 @@ import static com.ibeetl.jlw.web.IpAddressController.ipAddressMap;
 
 @Service
 @Transactional
-public class TeacherService extends CoreBaseService<Teacher>{
+public class TeacherService extends CoreBaseService<Teacher> {
 
     @Resource private TeacherDao teacherDao;
 
@@ -476,7 +477,7 @@ public class TeacherService extends CoreBaseService<Teacher>{
     }
 
     public List<Teacher> getValues (Object paras){
-        return sqlManager.select(SqlId.of("jlw.teacher.getTeacherValues"),Teacher.class,paras);
+        return sqlManager.select(SqlId.of("jlw.teacher.getTeacherValues"),Teacher.class, paras);
     }
 
 
@@ -676,4 +677,10 @@ public class TeacherService extends CoreBaseService<Teacher>{
 
     }
 
+    public List<Teacher> getByIds(String teacherIds) {
+        return teacherDao.createLambdaQuery()
+                .andIn(Teacher::getTeacherId,
+                        Arrays.asList(ObjectUtil.defaultIfNull(teacherIds, "").split(",")))
+                .select();
+    }
 }
\ No newline at end of file
diff --git a/web/src/main/java/com/ibeetl/jlw/service/WebPlatformService.java b/web/src/main/java/com/ibeetl/jlw/service/WebPlatformService.java
index 5f3a762d..48ab174c 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/WebPlatformService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/WebPlatformService.java
@@ -35,6 +35,7 @@ public class WebPlatformService {
         switch (EnumUtil.fromString(MenuEnums.class, user.getJobType1())) {
             case JT_S_01: {
                 // 什么也不做, 用户在登录的时候,已经把用户信息放进Session中啦
+                httpRequestLocal.setSessionValue(T_ADMIN, user);
             }break;
             case JT_S_02: {
                 httpRequestLocal.setSessionValue(T_TEACHER, teacherService.getByUserId(userId));
@@ -55,7 +56,7 @@ public class WebPlatformService {
     public Object getUserInfoFromSessionByIdentity(@NotNull(message = "登录用户不能为空!") CoreUser user) {
         switch (EnumUtil.fromString(MenuEnums.class, user.getJobType1())) {
             case JT_S_01: {
-                return httpRequestLocal.getSessionValue(ACCESS_CURRENT_USER);
+                return httpRequestLocal.getSessionValue(T_ADMIN);
             }
             case JT_S_02: {
                 return httpRequestLocal.getSessionValue(T_TEACHER);
diff --git a/web/src/main/java/com/ibeetl/jlw/web/ApplicationRunnerController.java b/web/src/main/java/com/ibeetl/jlw/web/ApplicationRunnerController.java
index 4dc94184..0b61ba65 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/ApplicationRunnerController.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/ApplicationRunnerController.java
@@ -1,10 +1,8 @@
 package com.ibeetl.jlw.web;
 
+import cn.jlw.token.TokenService;
 import com.ibeetl.jlw.entity.Quartz;
-import com.ibeetl.jlw.service.AttributeService;
-import com.ibeetl.jlw.service.IpAddressService;
-import com.ibeetl.jlw.service.QuartzService;
-import com.ibeetl.jlw.service.StudentService;
+import com.ibeetl.jlw.service.*;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
 import org.springframework.stereotype.Controller;
@@ -25,6 +23,7 @@ public class ApplicationRunnerController implements ApplicationRunner {
     @Resource private IpAddressService ipAddressService;
 
     @Resource private StudentService studentService;
+    @Resource private TeacherService teacherService;
 
     public static boolean isOnline = false;
 
@@ -46,7 +45,8 @@ public class ApplicationRunnerController implements ApplicationRunner {
 
 
         try {
-            StudentController.init(studentService);
+            // 更新Token
+            TokenService.init();
         } catch (Exception e) {
             e.printStackTrace();
         }
diff --git a/web/src/main/java/com/ibeetl/jlw/web/ExamController.java b/web/src/main/java/com/ibeetl/jlw/web/ExamController.java
index 37bc0bca..b933df5b 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/ExamController.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/ExamController.java
@@ -178,7 +178,7 @@ public class ExamController{
 
         Teacher teacher = new Teacher();
         teacher.setUserId(coreUser.getId());
-        teacher = teacherService.getValues(teacher).get(0);
+        teacher = (Teacher) teacherService.getValues(teacher).get(0);
 
         examQuery.setTeacherId(teacher.getTeacherId());
         examQuery.setUserId(coreUser.getId());
diff --git a/web/src/main/java/com/ibeetl/jlw/web/IndexController.java b/web/src/main/java/com/ibeetl/jlw/web/IndexController.java
index 39d85d37..36f7d1ae 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/IndexController.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/IndexController.java
@@ -47,8 +47,8 @@ import java.util.*;
 
 import static cn.jlw.Interceptor.AuthenticationInterceptor.getToken;
 import static cn.jlw.Interceptor.AuthenticationInterceptor.indexTokenMap;
+import static cn.jlw.token.TokenService.updateByIds;
 import static com.ibeetl.admin.core.service.CorePlatformService.tokenSessionMap;
-import static com.ibeetl.jlw.web.StudentController.updateByIds;
 
 @Controller
 public class IndexController {
@@ -513,6 +513,7 @@ public class IndexController {
 							JsonResult jsonResult = teacherService.add(teacher);
 							teacher = teacherService.queryById(Long.parseLong(jsonResult.getData().toString()));
 							coreUser = userService.getUserById(teacher.getUserId());
+
 						}
 					}
 				}
@@ -721,9 +722,29 @@ public class IndexController {
 							jsonResult.setMsg(msg);
 
 							if("JT_S_02".equals(user.getJobType1())){//老师
-								// 登录信息存放Session
-								webPlatformService.setUserInfoToSessionByIdentity(info.getUser());
-								this.platformService.setLoginUser(info.getUser(), info.getCurrentOrg(), info.getOrgs(), uSystem);
+								Teacher teacher = teacherService.getByUserId(user.getId());
+								String token = tokenService.getToken(teacher);
+
+								if(StringUtils.isNotBlank(token)){
+
+									String keyId = UUID.randomUUID().toString();
+									indexTokenMap.put(keyId,token);
+									jsonResult.setData(keyId);
+
+									//断token的尾巴
+									if(StringUtils.isNotBlank(token)){
+										if(token.split("\\.").length > 3){
+											String loginTime = token.split("\\.")[3];
+											token = token.replace("."+loginTime,"");
+										}
+									}
+
+									// 登录信息存放Session
+									webPlatformService.setUserInfoToSessionByIdentity(info.getUser());
+									tokenSessionMap.put(token,new Object[]{user, info.getCurrentOrg(), info.getOrgs(), uSystem});
+									return jsonResult;
+								}
+
 							}else if("JT_S_03".equals(user.getJobType1())){//学生
 
 								Student s = studentService.getByUserId(user.getId());
@@ -828,12 +849,12 @@ public class IndexController {
 				if(request.getHeader("Referer").contains("/server")){
 					redirectUrl = request.getHeader("Referer").substring(0,request.getHeader("Referer").indexOf("/server"));
 				}else {
-					redirectUrl = request.getHeader("Referer").substring(0,request.getHeader("Referer").indexOf("/Login"));
+					redirectUrl = request.getHeader("Referer").substring(0,request.getHeader("Referer").lastIndexOf("/") + 1);
 				}
 
 				String token = getToken(request);
 
-				UniversitiesCollegesJurisdictionExperimentalSystem uSystem = (UniversitiesCollegesJurisdictionExperimentalSystem)platformService.getOther(token);
+//				UniversitiesCollegesJurisdictionExperimentalSystem uSystem = (UniversitiesCollegesJurisdictionExperimentalSystem)platformService.getOther(token);
 
 				try {
 					Cookie c1 = new Cookie("JSESSIONID", request.getSession().getId());
diff --git a/web/src/main/java/com/ibeetl/jlw/web/StudentController.java b/web/src/main/java/com/ibeetl/jlw/web/StudentController.java
index ecabcf23..931ff465 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/StudentController.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/StudentController.java
@@ -3,7 +3,6 @@ package com.ibeetl.jlw.web;
 import cn.jlw.Interceptor.*;
 import cn.jlw.token.TokenService;
 import cn.jlw.util.JupyterNotebookUtils;
-import cn.jlw.util.SpringContextUtil;
 import cn.jlw.util.ToolUtils;
 import cn.jlw.validate.ValidateConfig;
 import com.alibaba.fastjson.JSON;
@@ -43,9 +42,10 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
 import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.stream.Collectors;
 
+import static cn.jlw.token.TokenService.getMap;
+import static cn.jlw.token.TokenService.updateByIds;
 import static com.ibeetl.jlw.web.IpAddressController.ipAddressMap;
 
 
@@ -110,29 +110,6 @@ public class StudentController{
     @Resource
     FileService fileService;
 
-
-    //静态参数
-
-    public static Map<Long,Student> studentMap = new ConcurrentHashMap<>();
-
-    //初始化
-    public static void init(StudentService studentService){
-        List<Student>studentList = studentService.getValues(null);
-        for (int i=0;null != studentList && i<studentList.size();i++){
-            studentMap.put(studentList.get(i).getStudentId(),studentList.get(i));
-        }
-    }
-
-    //更新缓存
-    public static void updateByIds(String studentIds){
-        StudentService studentService = (StudentService) SpringContextUtil.getBean("studentService");
-        List<Student> studentList = studentService.getByIds(studentIds);
-        for(int i=0;null != studentList && i<studentList.size();i++){
-            studentMap.put(studentList.get(i).getStudentId(),studentList.get(i));
-        }
-    }
-
-
     /* 前端接口 */
 
     /**
@@ -166,7 +143,7 @@ public class StudentController{
                             return JsonResult.failMessage("密码错误,请重新输入或使用短信验证码登陆");
                         }else {
                             //登陆
-                            map = getMap(s,tokenService);
+                            map = getMap(s, tokenService);
                         }
                     }
                 }
@@ -195,26 +172,6 @@ public class StudentController{
         }
     }
 
-    public static Map<String,Object> getMap(Student s,TokenService tokenService){
-        Student student = ToolUtils.deepCopy(s);
-        Map<String,Object> map = new HashMap<>();
-        //生成token
-        String token = tokenService.getToken(student);
-        map.put("token",token);
-        map.put("member",getStudentInfo(student.getStudentId()));
-        return map;
-    }
-
-    //获取会员信息简述,合并了微信信息
-    public static Student getStudentInfo(Long studentId){
-
-        Student student = ToolUtils.deepCopy(studentMap.get(studentId));
-
-        // TODO 添加乱七八糟的东西
-
-        return student;
-    }
-
 
     //学生端首页所需数据
     @GetMapping(API + "/indexInfo.do")
diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherController.java
index 16c3f257..b728050d 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/TeacherController.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherController.java
@@ -1071,7 +1071,7 @@ public class TeacherController{
     @GetMapping(MODEL + "/getValues.json")
     @ResponseBody
     public JsonResult<List<Teacher>>getValues(TeacherQuery param) {
-        List<Teacher>list = teacherService.getValues(param);
+        List<Teacher> list = teacherService.getValues(param);
         return  JsonResult.success(list);
     }
 
diff --git a/web/src/main/resources/application-dev.properties b/web/src/main/resources/application-dev.properties
index 0fd614c5..7707db15 100644
--- a/web/src/main/resources/application-dev.properties
+++ b/web/src/main/resources/application-dev.properties
@@ -53,5 +53,5 @@ dynamic.beetlsql.cs.dbStyle = org.beetl.sql.core.db.MySqlStyle
 dynamic.beetlsql.cs.dynamicConnectionSource = master,ds2
 
 # \u6A21\u62DF\u7528\u6237\u767B\u5F55 \u53EA\u80FD\u7528\u5728\u672C\u5730\u6D4B\u8BD5\u65F6\u5019\u4F7F\u7528
-user.id=1
-user.orgId=1
\ No newline at end of file
+#user.id=1
+#user.orgId=1
\ No newline at end of file