Java 获取系统当前登录用户信息

Java 专栏收录该内容
62 篇文章 0 订阅

1,代码,并调用方法


// HttpServletRequest request 接收请求数据
    @RequestMapping("/tosave")
    @ResponseBody
    public Map tosave(@RequestParam HashMap<String,String> paraMap, Model model, HttpServletRequest request, HttpServletResponse response) {
        try {
            Date date = new Date();//获取当前的日期
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
            if (!StringUtil.isNullOrSpace(paraMap.get("id"))) {
               
                Tbz4BaseEntity entity=new Tbz4BaseEntity();
//                BeanUtils.copyProperties(tbz4DbzreportLogEntity,entity);
                entity.setId(UUID.randomUUID().toString());
                entity.setUserid(RightUtil.getCurrentUser(request).getUid());  // 获取当前用户id
                entity.setUsername(RightUtil.getCurrentUser(request).getUname()); // 获取当前用户名
                entity.setCreated(df.format(date));
                tbz4BaseEntityDao.save(entity);

            }
            HashMap<String, Object> result = createResult(true, "操作成功!");
            return result;
        } catch (Exception e) {
            log.error("系统错误!" + e.getMessage(), e);
            return createResult(Boolean.FALSE, "操作失败。");
        }
    }

2,方法

public class RightUtil {

    public RightUtil() {
    }

    public static SessionUserInfoEntity getCurrentUser(HttpServletRequest request) {
        HttpSession session = request.getSession();
        SessionUserInfoEntity sessionUserInfoEntity = (SessionUserInfoEntity)session.getAttribute(Public.SESSION_USER_KEY);
        if (sessionUserInfoEntity != null) {
            return sessionUserInfoEntity;
        } else {
            String sessionUserInfoEntityJson = request.getHeader(Public.SESSION_USER_KEY);
            sessionUserInfoEntityJson = sessionUserInfoEntityJson == null ? request.getParameter(Public.SESSION_USER_KEY) : sessionUserInfoEntityJson;
            if (!StringUtil.isEmptyOrLength0(sessionUserInfoEntityJson)) {
                return SessionUserInfoEntity.fromCookieJson(sessionUserInfoEntityJson);
            } else {
                Cookie[] cookies = request.getCookies();
                cookies = cookies == null ? new Cookie[0] : cookies;
                Cookie[] var5 = cookies;
                int var6 = cookies.length;

                for(int var7 = 0; var7 < var6; ++var7) {
                    Cookie cookie = var5[var7];
                    if (Public.SESSION_USER_KEY.equals(cookie.getName())) {
                        return SessionUserInfoEntity.fromCookieJson(cookie.getValue());
                    }
                }

                sessionUserInfoEntity = new SessionUserInfoEntity();
                sessionUserInfoEntity.setUid("");
                sessionUserInfoEntity.setLname("");
                return sessionUserInfoEntity;
            }
        }
    }
}
  • 0
    点赞
  • 0
    评论
  • 8
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

Aimyone

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值