Java具体方法中获取当前登录用户信息实现方法

使用情况(用购物网站举例):

1.需要获取当前登录用户的id,用来查询当前用户的购物车中的商品信息

操作:

可以在登录接口,做登录验证时将查到的用户信息保存在session中。

    /**
     * 用户登录
     * @param parm
     * @return
     */
    @RequestMapping(value = "/userlogin",method = RequestMethod.POST)
    public @ResponseBody ModelMap userlogin(@RequestParam Map<String,Object> parm, HttpServletRequest request, HttpServletResponse response) {

        HttpSession session = request.getSession(true);
        session.setMaxInactiveInterval(10*60);

        SysUser strs = loginService.selectUser(parm.get("username").toString());
        session.setAttribute("User",strs);
        ModelMap map = new ModelMap();
        map.put("SysUser",strs);
        return map;
    }

2.然后做好他的封裝類

public class SysUser{
    /**
     * 用户ID
     */
    private Long user_id;

    /**
     * 部门ID
     */
    private Long dept_id;
    /**
     * 登录账号
     */
    private String login_name;

    /**
     * 用户昵称
     */
    private String user_name;

注:不要忘記get、set

3.對session做好二次封裝

public class SessionUtils {

    public static SysUser getSession(HttpServletRequest req){
        HttpSession session = req.getSession();
        SysUser user = (SysUser) session.getAttribute("User");
        return user;
    }

}

4.编写接口的时候就可以获取当前用户的信息了

String userID = sessionUtils.getSession(req).getuser_id().toString();

    原文作者:weixin_48743471
    原文地址: https://blog.csdn.net/weixin_48743471/article/details/120835691
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞