栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java > SpringBoot

Springboot点餐系统登录登出

SpringBoot 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot点餐系统登录登出

使用账号密码的方式重新实现了一遍。
核心逻辑和视频中保持一致。
总的来说,需要掌握的就是HttpServletRequest 和 HttpServletResponse 两个类的使用。

首先定义一个登陆页面:
@GetMapping("login/index")
public ModelAndView loginPage()
{
    return new ModelAndView("order/login");
}
然后定义一个验证方法:
@PostMapping("login/verify")
public ResultVO loginVerify(@RequestParam("username") String username,
@RequestParam("password") String password,
HttpServletResponse httpServletResponse)
{
    Integer result = loginService.verify(username, password, httpServletResponse);

    return ResultVOUtil.error(result, EnumUtil.getByCode(result, LoginEnum.class).getMsg());
}
verify 方法实现:
@Override
public Integer verify(String username, String password, HttpServletResponse httpServletResponse) {
    // 去数据库查
    SellerInfo sellerInfo = getUserByUname(username);
    if (sellerInfo == null) {
 log.error("用户不存在!{}", username);
 return LoginEnum.ERR_USN.getCode();
    }
    if (!password.equals(sellerInfo.getPassword())) {
 log.error("用户密码错误!{}");
 return LoginEnum.ERR_PWD.getCode();
    }
    // 设置token到redis
    String uuid = UUID.randomUUID().toString();
    String key = RedisConstant.PREFIX + uuid;
    Integer expired = RedisConstant.EXPIRED;
    stringRedisTemplate.opsForValue().set(key, password, expired, TimeUnit.SECONDS);
    // 设置 token 到cookie
    cookie cookie = cookieUtil.setcookie("token", uuid, 7200);
    httpServletResponse.addcookie(cookie);

    return LoginEnum.SUCCESS.getCode();
}
退出登陆:
@GetMapping("logout")
public ModelAndView logout(HttpServletResponse httpServletResponse,
     HttpServletRequest httpServletRequest,
     Map map)
{
    // 从cookie中查询
    cookie cookie = cookieUtil.getcookie(httpServletRequest, "token");
    if (cookie != null) {
 String token = "token_" + cookie.getValue();
 stringRedisTemplate.opsForValue().getOperations().delete(token);
 httpServletResponse.addcookie(cookieUtil.setcookie("token", "", 0));
    }
    map.put("msg", "登出成功");
    map.put("url", "/sell/admin/login/index");
    return new ModelAndView("common/success", map);
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/235132.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号