From 9e25df4b6c4b8f1908b9405b5a399f8db2293a71 Mon Sep 17 00:00:00 2001 From: Kane Wang Date: Sat, 25 Mar 2023 18:02:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8B=AC=E7=AB=8B=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../account/P13AccountCheckController.java | 168 +++++++++--------- 1 file changed, 80 insertions(+), 88 deletions(-) diff --git a/code/java/后端-用户验证/src/main/java/com/cpic/xim/web/controllers/account/P13AccountCheckController.java b/code/java/后端-用户验证/src/main/java/com/cpic/xim/web/controllers/account/P13AccountCheckController.java index a329069..d433113 100644 --- a/code/java/后端-用户验证/src/main/java/com/cpic/xim/web/controllers/account/P13AccountCheckController.java +++ b/code/java/后端-用户验证/src/main/java/com/cpic/xim/web/controllers/account/P13AccountCheckController.java @@ -2,14 +2,16 @@ * @Author: Kane * @Date: 2022-12-15 11:11:21 * @LastEditors: Kane - * @LastEditTime: 2023-01-17 23:28:21 - * @FilePath: \AdminSys\src\main\java\com\cpic\xim\web\controllers\account\P13AccountCheckController.java + * @LastEditTime: 2023-03-25 17:28:39 + * @FilePath: /后端-用户验证/src/main/java/com/cpic/xim/web/controllers/account/P13AccountCheckController.java * @Description: P13账号验证用Controller。 - * - * Copyright (c) ${2022} by Kane, All Rights Reserved. + * + * Copyright (c) ${2022} by Kane, All Rights Reserved. */ package com.cpic.xim.web.controllers.account; +import com.cpic.xim.myutils.account.CpicXIMStaffInfo; +import com.cpic.xim.myutils.account.LdapAccountCheck; import java.io.IOException; import java.nio.channels.IllegalSelectorException; import java.sql.SQLException; @@ -21,94 +23,84 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import com.cpic.xim.myutils.account.CpicXIMStaffInfo; -import com.cpic.xim.myutils.account.LdapAccountCheck; @Controller -@RequestMapping( path = "/account" ) -@SuppressWarnings( "unused" ) -public class P13AccountCheckController -{ - /***************************************************** - * 根据用户提供的P09工号或者P13账号密码,查找用户信息,并AD域服务器验证p13账号密码。 - * 验证通过即返回人员信息。 - * 验证不通过result.success值为false,并在message提供失败原因。 - * @param param 由json格式转换的请求参数 - * @param request - * @param response - * @return 返回一个P13AccountCheckResult对象,其中提供验证结果 - *****************************************************/ - @ResponseBody - @RequestMapping( path = "/p13_account_check" ) - public P13AccountCheckResult checkP13Account( @RequestBody P13AccountCheckRequest param, - HttpServletRequest request, HttpServletResponse response ) - throws IllegalSelectorException, IOException - { - P13AccountCheckResult result = new P13AccountCheckResult(); - ServletContext context = request.getServletContext(); +@RequestMapping(path = "/account") +@SuppressWarnings("unused") +public class P13AccountCheckController { - // context.getAttribute( null ); - CpicXIMStaffInfo staff = null; + /***************************************************** + * 根据用户提供的P09工号或者P13账号密码,查找用户信息,并AD域服务器验证p13账号密码。 + * 验证通过即返回人员信息。 + * 验证不通过result.success值为false,并在message提供失败原因。 + * @param param 由json格式转换的请求参数 + * @param request + * @param response + * @return 返回一个P13AccountCheckResult对象,其中提供验证结果 + *****************************************************/ + @ResponseBody + @RequestMapping(path = "/p13_account_check") + public P13AccountCheckResult checkP13Account( + @RequestBody P13AccountCheckRequest param, + HttpServletRequest request, + HttpServletResponse response + ) throws IllegalSelectorException, IOException { + P13AccountCheckResult result = new P13AccountCheckResult(); + ServletContext context = request.getServletContext(); - try - { - // 先根据用户输入的09工号或p13账号获得p13账号,确定账号存在 - staff = CpicXIMStaffInfo.getStaffInfo( param.getP13Account() ); - } - catch ( SQLException error ) - { - staff = null; - result.setMessage( "人员工号或P13账号不存在!" ); - result.setSuccess( false ); - } - catch ( ClassNotFoundException error ) - { - staff = null; - result.setMessage( "加载Oracle驱动失败!" ); - result.setSuccess( false ); - } + CpicXIMStaffInfo staff = null; - // 查询结果是null,说明没有查询到结果,工号或p13账号不存在,返回结果。 - if ( staff == null ) - { - result.setMessage( "人员工号或P13账号不存在!" ); - result.setSuccess( false ); - - return result; - } - - // 判断一下p13是否存在,如果不存在就结束过程 - if ( staff.getP13UID().isEmpty() == true ) - { - result.setMessage( "P13账号不存在,请联系信息技术部申请账号!" ); - result.setSuccess( false ); - - return result; - } - - // 进行ldap验证 - boolean ldapCheckResult = - LdapAccountCheck.ldapLogin( staff.getP13UID(), param.getPassword() ); - - if ( ldapCheckResult == true ) - { - result.setSuccess( true ); - result.setMessage( "验证成功!" ); - result.setStaffInfo( staff ); - - // 将获取到的人员信息保存到会话中 - HttpSession session = request.getSession(); - - session.setAttribute( "staff_info", staff ); - } - else - { - result.setSuccess( false ); - result.setMessage( "密码错误!" ); - } - - result.setToken( param.getP13Account() ); - - return result; + try { + // 先根据用户输入的09工号或p13账号获得p13账号,确定账号存在 + staff = CpicXIMStaffInfo.getStaffInfo(param.getP13Account()); + } catch (SQLException error) { + staff = null; + result.setMessage("人员工号或P13账号不存在!"); + result.setSuccess(false); + } catch (ClassNotFoundException error) { + staff = null; + result.setMessage("加载Oracle驱动失败!"); + result.setSuccess(false); } + + // 查询结果是null,说明没有查询到结果,工号或p13账号不存在,返回结果。 + if (staff == null) { + result.setMessage("人员工号或P13账号不存在!"); + result.setSuccess(false); + + return result; + } + + // 判断一下p13是否存在,如果不存在就结束过程 + if (staff.getP13UID().isEmpty() == true) { + result.setMessage("P13账号不存在,请联系信息技术部申请账号!"); + result.setSuccess(false); + + return result; + } + + // 进行ldap验证 + boolean ldapCheckResult = LdapAccountCheck.ldapLogin( + staff.getP13UID(), + param.getPassword() + ); + + if (ldapCheckResult == true) { + result.setSuccess(true); + result.setMessage("验证成功!"); + result.setStaffInfo(staff); + + // 将获取到的人员信息保存到会话中 + HttpSession session = request.getSession(); + + session.setAttribute("staff_info", staff); + } else { + result.setSuccess(false); + result.setMessage("密码错误!"); + } + + result.setToken(param.getP13Account()); + + return result; + } }