private boolean manualLogin(HttpServletRequest request, HttpServletResponse response) { String userName = request.getParameter("userName"); String password = request.getParameter("password"); String captcha = request.getParameter("captcha"); if (userName == null || password == null || !validateCaptcha(captcha, request)) { return false; } String adminLogin = request.getParameter("adminLogin"); Provider provider = null; if ("1".equals(adminLogin)) { Admin loginAdmin = adminMapper.selectByName(userName); if (loginAdmin == null) { LOGGER.warn("not found admin user from database by name [{0}]", userName); return false; } provider = newProviderByAdmin(loginAdmin); } else { provider = providerService.findByUserName(userName); if (provider == null) { LOGGER.debug("not found provider user from database by name [{0}]", userName); return false; } provider.setUserName(userName); } // 设置配送区域 provider.setDeliveryArea(genProviderDeliveryArea(provider)); password = CookieHelper.md5(password); boolean login = doLogin(provider, password, false, request); if (login) { int cookieMaxAge = -1; // cookies auto-expire if (Boolean.parseBoolean(request.getParameter("autoLogin"))) { cookieMaxAge = Integer.parseInt(getProperty(COOKIE_MAX_AGE)); CookieHelper.addCookies( provider.getProviderId().toString(), password, adminLogin, cookieMaxAge, request, response); } } return login; }