请求的 url:/user/token/{token} 参数:String token 需要从 url 中取, String callback 返回值: JSON 数据。使用 ECoursesResult 包装 EcoursesUser 对象。 业务逻辑: 1、从 url 中取参数; 2、根据token查询 Redis; 3、如果查询不到数据。返回用户已经过期; 4、如果查询到数据,说明用户已经登录; 5、需要重置 key 的过期时间; 6、把 JSON 数据转换成 EcoursesUser 对象,然后使用 ECoursesResult 包装并返回。 使用 JedisClient 对象。 参数:String token 返回值: ECoursesResult 请求的 url:/user/token/{token} 参数:String token 需要从 url 中取, String callback 返回值: JSON 数据。使用 ECoursesResult 包装 EcoursesUser 对象。 需要根据 token 删除 Redis 中的 key。 使用 JedisClient 对象。 参数:String token 返回值: ECoursesResult 请求的 url:/user/logout/{token} 参数:String token, HttpServletRequest request, HttpServletResponse response 返回值: JSON 数据。使用 ECoursesResult 包装 EcoursesUser 对象。
通过 token 查询用户信息
功能分析
Dao层
Service层
@Override public ECoursesResult getUserByToken(String token) { //根据token到redis中取用户信息 String json = jedisClient.get("SESSION:" + token); //取不到用户信息,登录已经过期,返回登录过期 if (StringUtils.isBlank(json)) { return ECoursesResult.build(201, "用户登录已经过期"); } //取到用户信息更新token的过期时间 jedisClient.expire("SESSION:" + token, SESSION_EXPIRE); //返回结果,ECoursesResult其中包含EcoursesUser对象 EcoursesUser user = JsonUtils.jsonToPojo(json, EcoursesUser.class); return ECoursesResult.ok(user); }
表现层
@RequestMapping(value="/user/token/{token}") @ResponseBody public Object getUserByToken(@PathVariable String token, String callback) { ECoursesResult result = tokenService.getUserByToken(token); //响应结果之前,判断是否为jsonp请求 if (StringUtils.isNotBlank(callback)) { //把结果封装成一个js语句响应 MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(result); mappingJacksonValue.setJsonpFunction(callback); return mappingJacksonValue; } return result; }
安全退出
Dao层
Service层
@Override public ECoursesResult userLogout(String token) { jedisClient.expire("SESSION:" + ":" + token, 0); return ECoursesResult.ok(); }
表现层
@RequestMapping(value="/user/logout/{token}", method=RequestMethod.GET) @ResponseBody public ECoursesResult logout(@PathVariable String token, HttpServletRequest request, HttpServletResponse response){ ECoursesResult result = loginService.userLogout(token); CookieUtils.setCookie(request, response, TOKEN_KEY, null); return result; }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算