| | |
| | | import com.lf.server.entity.data.LoginEntity; |
| | | import com.lf.server.entity.data.TokenEntity; |
| | | import com.lf.server.entity.data.UsersEntity; |
| | | import com.lf.server.entity.sys.LoginInfo; |
| | | import com.lf.server.entity.sys.Result; |
| | | import com.lf.server.entity.sys.User; |
| | | import com.lf.server.helper.StringHelper; |
| | | import com.lf.server.helper.WebHelper; |
| | | import com.lf.server.service.data.LoginService; |
| | | import com.lf.server.service.data.TokenService; |
| | | import com.lf.server.service.data.UsersService; |
| | |
| | | * @return String |
| | | */ |
| | | @GetMapping({"/", "/toIndex"}) |
| | | public ModelAndView toIndex(ModelAndView mv) { |
| | | public ModelAndView toIndex(ModelAndView mv, HttpServletRequest req) { |
| | | mv.setViewName("index"); |
| | | |
| | | User user = null; |
| | | if (user != null) { |
| | | mv.addObject("msg", "Hello " + user.getLoginName() + " !"); |
| | | UsersEntity ue = tokenService.getCurrentUser(req); |
| | | if (ue != null) { |
| | | mv.addObject("msg", "Hello " + ue.getUname() + " !"); |
| | | } |
| | | |
| | | return mv; |
| | |
| | | /** |
| | | * 登录认证 |
| | | * |
| | | * @return String |
| | | * @return ResponseMsg<TokenEntity> |
| | | */ |
| | | @PostMapping(value = "/login", produces = "application/json; charset=UTF-8") |
| | | public ResponseMsg<TokenEntity> login(@RequestBody UsersEntity user, HttpServletRequest req, HttpServletResponse res) { |
| | |
| | | return fail("用户名不存在!", null); |
| | | } |
| | | |
| | | LoginEntity le = loginService.getNewLogin(ue.getId(), req); |
| | | LoginEntity le = loginService.getNewLogin(ue.getId(), 1, req); |
| | | if (!user.getPwd().equals(ue.getPwd())) { |
| | | le.setStatus(0); |
| | | le.setDescr("密码错误"); |
| | | loginService.insertLogin(le); |
| | | return fail("密码不正确!", null); |
| | | } |
| | | le.setStatus(1); |
| | | |
| | | Integer rows = loginService.insertLogin(le); |
| | | if (rows == 0) { |
| | |
| | | return fail("创建令牌信息失败!", null); |
| | | } |
| | | |
| | | tokenService.saveToken(ue, te, req, res); |
| | | |
| | | return success(te); |
| | | } catch (Exception ex) { |
| | | return fail(ex.getMessage(), null); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 注销 |
| | | * 登出 |
| | | * |
| | | * @return String |
| | | * @param req |
| | | * @return |
| | | */ |
| | | @GetMapping("/logout") |
| | | public ModelAndView logout() { |
| | | ModelAndView mv = new ModelAndView(); |
| | | mv.setViewName("login"); |
| | | @GetMapping(value = "/logout") |
| | | public ResponseMsg<Boolean> logout(HttpServletRequest req) { |
| | | try { |
| | | String token = WebHelper.getToken(req); |
| | | if (StringHelper.isEmpty(token)) { |
| | | return fail("没有检测到令牌", false); |
| | | } |
| | | |
| | | return mv; |
| | | Boolean flag = tokenService.logout(token, req); |
| | | |
| | | return success(flag ? "登出成功" : "登出失败", flag); |
| | | } catch (Exception ex) { |
| | | return fail(ex.getMessage(), false); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 检查是/否登录 |
| | | * |
| | | * @return ResponseMsg<String> |
| | | */ |
| | | @GetMapping("/check") |
| | | public ResponseMsg<Boolean> check(HttpServletRequest req, HttpServletResponse res) { |
| | | try { |
| | | Boolean flag = tokenService.isLogin(req, res); |
| | | if (flag) { |
| | | // 写日志 |
| | | UsersEntity ue = tokenService.getCurrentUser(req); |
| | | LoginEntity le = loginService.getNewLogin(ue.getId(), 2, req); |
| | | Integer rows = loginService.insertLogin(le); |
| | | } |
| | | |
| | | return success(flag ? "用户已登录" : "用户未登录", flag); |
| | | } catch (Exception ex) { |
| | | return fail(ex.getMessage(), false); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取当前用户 |
| | | * |
| | | * @param req |
| | | * @return |
| | | */ |
| | | @GetMapping("/getCurrentUser") |
| | | public ResponseMsg<UsersEntity> getCurrentUser(HttpServletRequest req) { |
| | | try { |
| | | UsersEntity ue = tokenService.getCurrentUser(req); |
| | | if (ue == null) { |
| | | return fail("没有找到", null); |
| | | } |
| | | |
| | | return success(ue); |
| | | } catch (Exception ex) { |
| | | return fail(ex.getMessage(), null); |
| | | } |
| | | } |
| | | } |