zoukankan      html  css  js  c++  java
  • 共享全局对象

    public class UserContext {

    public static final String SUBJECT_IN_SESSION = "SUBJECT_IN_SESSION";
    public static final String EXPRESSIONS_IN_SESSION = "EXPRESSIONS_IN_SESSION";
    //获取session 公共的整个项目 方便调用 所以写出
    public static HttpSession getSession(){
    ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    return requestAttributes.getRequest().getSession();
    }

    //共享当前用户
    public static void setCurrentEmp(SubJectObjectUtil currentEmp){
    getSession().setAttribute(SUBJECT_IN_SESSION,currentEmp);
    }


    //获取当前用户
    public static SubJectObjectUtil getCurrentEmp(){
    return (SubJectObjectUtil) getSession().getAttribute(SUBJECT_IN_SESSION);
    }

    //共享当前用户的权限表达式
    public static void setExpressions(List<String> expressions){
    getSession().setAttribute(EXPRESSIONS_IN_SESSION, expressions);
    }

    //获取当前用户的权限表达式
    public static List<String> getExpressions(){
    return (List<String>) getSession().getAttribute(EXPRESSIONS_IN_SESSION);
    }
    }



    在拦截器中拦截请求 获取对应对用户信息 那对应对用户信息set 到对应到对象中 在设置对象到session中 在该项目中调用getsesion 获到对应到详细信息 ‘
    String token1 = request.getHeader("token");
    String manufactorId = JSONObject.parseObject(jwtUtil.parseJWT(token1).getSubject()).getString("id");
    SubJectObjectUtil subJectObjectUtil1 = new SubJectObjectUtil();//设置到实体类中
    subJectObjectUtil1.setManufactorId(manufactorId);
    UserContext.setCurrentEmp(subJectObjectUtil1); //设置到session 中  
    SubJectObjectUtil session1 = UserContext.getCurrentEmp();//获取session中变量
    System.out.println(session1.getManufactorId());//获取session中变量
    实体类中设置对应需要共享的变量





  • 相关阅读:
    DAY 57 django12
    韦东山网课https://edu.csdn.net/course/play/207/1117
    关于初始化
    软件——机器学习与Python,Python3的输出与输入
    关于python中数组的问题,序列格式转换
    偏最小二乘法
    数据标准化
    SD卡与tf卡引脚转换
    程序心得
    牛客网 python 求解立方根
  • 原文地址:https://www.cnblogs.com/yuguohua/p/12844121.html
Copyright © 2011-2022 走看看