|  |  |  | 
|---|
|  |  |  | * @return 登录用户值对象 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping(path = "login", consumes = MediaType.APPLICATION_JSON_VALUE)//前端提交json数据 | 
|---|
|  |  |  | @Log("用户登录(json)") | 
|---|
|  |  |  | public BaseResponse<UserVo> login(@RequestBody  @Valid LoginVo vo, | 
|---|
|  |  |  | HttpSession session, | 
|---|
|  |  |  | BindingResult bindingResult) { | 
|---|
|  |  |  | @Log("用户登录") | 
|---|
|  |  |  | public BaseResponse<UserVo> login(@RequestBody  @Valid LoginVo vo,BindingResult bindingResult, | 
|---|
|  |  |  | HttpSession session) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | if(bindingResult != null && bindingResult.hasErrors()){ | 
|---|
|  |  |  | return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); | 
|---|
|  |  |  | 
|---|
|  |  |  | String sessionCaptcha = (String) session.getAttribute("captcha"); | 
|---|
|  |  |  | // 首先验证验证码 | 
|---|
|  |  |  | if (vo.captcha != null && vo.captcha.equalsIgnoreCase(sessionCaptcha)) { | 
|---|
|  |  |  | session.removeAttribute("captcha"); | 
|---|
|  |  |  | return this.doLogin(vo) ; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 验证码错误,返回登录页面并显示错误信息 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 客户端请求用户登录,客户端提交form表单 | 
|---|
|  |  |  | * @param vo 登录用户form表单对象 | 
|---|
|  |  |  | * @param loginVo 登录用户form表单对象 | 
|---|
|  |  |  | * @return 登录用户值对象 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping(path = "loginForm", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)//前端提交form表单数据 | 
|---|
|  |  |  | @Log("用户登录(form)") | 
|---|
|  |  |  | public BaseResponse<UserVo> loginForm(@RequestBody @Valid LoginVo vo, HttpSession session,BindingResult bindingResult){ | 
|---|
|  |  |  | public BaseResponse<UserVo> loginForm(@Valid LoginVo loginVo, BindingResult bindingResult,HttpSession session){ | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | if(bindingResult != null && bindingResult.hasErrors()){ | 
|---|
|  |  |  | return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); | 
|---|
|  |  |  | 
|---|
|  |  |  | // 从Session中获取保存的验证码 | 
|---|
|  |  |  | String sessionCaptcha = (String) session.getAttribute("captcha"); | 
|---|
|  |  |  | // 首先验证验证码 | 
|---|
|  |  |  | if (vo.captcha != null && vo.captcha.equalsIgnoreCase(sessionCaptcha)) { | 
|---|
|  |  |  | return this.doLogin(vo) ; | 
|---|
|  |  |  | if (loginVo.captcha != null && loginVo.captcha.equalsIgnoreCase(sessionCaptcha)) { | 
|---|
|  |  |  | session.removeAttribute("captcha"); | 
|---|
|  |  |  | return this.doLogin(loginVo) ; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 验证码错误,返回登录页面并显示错误信息 | 
|---|
|  |  |  | return BaseResponseUtils.buildFail("验证码错误"); | 
|---|