diff options
author | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2019-04-16 11:20:38 +0900 |
---|---|---|
committer | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2019-05-13 17:50:04 +0900 |
commit | 3b55d06b89bf64873e685c3d78fce5affbba3d17 (patch) | |
tree | 2adcff0087f4757107d2bf1e50c85ea649f04f94 /warehouse/src/main/java/app/market/web/controller/login |
Add warehouse server source code.icefish_8.99.5icefish_8.99.4icefish_8.99.3icefish_8.99.2icefish_8.99.1icefish/8.99.5icefish/8.99.4icefish/8.99.3icefish/8.99.2icefish/8.99.1halibut_8.0.6halibut_8.0.5halibut_8.0.4halibut_8.0.3halibut_8.0.2halibut_8.0.1halibut_8.0.0halibut_7.99.3halibut_7.99.2halibut_7.99.1halibut/8.0.6halibut/8.0.5halibut/8.0.4halibut/8.0.3halibut/8.0.2halibut/8.0.1halibut/8.0.0halibut/7.99.3halibut/7.99.2halibut/7.99.18.99.58.99.48.99.38.99.28.99.18.0.68.0.58.0.48.0.38.0.28.0.18.0.07.99.37.99.27.99.1halibut
[Patch Set 2] Add ReadMe.md
Change-Id: I6ade52d2490f5ca4ba107c1a27ed6d5b39048725
Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
Diffstat (limited to 'warehouse/src/main/java/app/market/web/controller/login')
-rw-r--r-- | warehouse/src/main/java/app/market/web/controller/login/LoginController.java | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/warehouse/src/main/java/app/market/web/controller/login/LoginController.java b/warehouse/src/main/java/app/market/web/controller/login/LoginController.java new file mode 100644 index 0000000..316d0e8 --- /dev/null +++ b/warehouse/src/main/java/app/market/web/controller/login/LoginController.java @@ -0,0 +1,158 @@ +/* + * Copyright (c) 2019 TOYOTA MOTOR CORPORATION + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package app.market.web.controller.login; + +import java.util.Enumeration; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpSession; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; + +import app.market.utils.Md5Util; +import app.market.utils.constants.Constants; +import app.market.utils.json.JsonMapperUtils; +import app.market.utils.property.KeysConstants; +import app.market.utils.property.MessageUtil; +import app.market.utils.webservice.ApiParam; +import app.market.web.controller.ControllerMapping; +import app.market.web.controller.PageMapping; +import app.market.web.controller.SpringBaseController; +import app.market.web.services.login.LoginService; + +/** + * login + * + * @author Toyota + * @date 2017/10/10 + */ +@Controller +@RequestMapping(value = "login") +public class LoginController extends SpringBaseController { + + @Autowired + private LoginService loginService; + + @RequestMapping(value = "") + public ModelAndView init() { + return new ModelAndView( PageMapping.LOGIN.toString(), null ); + } + + /** + * signin + * + * @param loginId + * @param userPw + * @param httpSession + * @return + * @throws Exception + */ + @RequestMapping(value = "signin") + @ResponseBody + public String login(@RequestParam(value = "loginId") String loginId, + @RequestParam(value = "userPw") String userPw, + HttpSession session) throws Exception { + //MD5 encrypt + String userPwMd = Md5Util.md5(userPw); + List<String> errList = new LinkedList<String>(); + if ( StringUtils.isEmpty( loginId ) ) { + errList.add( MessageUtil.getPropertites( KeysConstants.LOGIN_LOGINID_IS_NOT_EMPTY ) ); + } + if ( StringUtils.isEmpty( userPw ) ) { + errList.add( MessageUtil.getPropertites( KeysConstants.LOGIN_PASSWORD_IS_NOT_EMPTY ) ); + } + if ( errList.size() > 0 ) { + return JsonMapperUtils.getJsonString( Constants.STATUS_UNAUTHORIZED, null, errList ); + } + + try { + String port = (String)session.getAttribute(Constants.SESSION_PORT); + String systemToken = (String)session.getAttribute(Constants.SESSION_SYSTEM_TOKEN); + String installPath = (String)session.getAttribute(Constants.SESSION_INSTALL_PATH); + String jsonStr = loginService.loginUser( loginId, userPwMd, session); + Map<String,String> value = JSON.parseObject(jsonStr, Map.class); + boolean result = JsonMapperUtils.getResult(jsonStr); + if(result){ + String message = (String)JsonMapperUtils.getMessage(jsonStr); + JSONObject jsonObj = JsonMapperUtils.getJsonObject(message); + String token = jsonObj.getString(ApiParam.API_RESPONSE_TOKEN); + String refreshtoken = jsonObj.getString(ApiParam.API_RESPONSE_REFRESHTOKEN); + session.setAttribute( Constants.SESSION_TOKEN, token ); + session.setAttribute( Constants.SESSION_REFRESH_TOKEN, refreshtoken ); + + if(StringUtils.isNotEmpty(port) && StringUtils.isNotEmpty(systemToken) && StringUtils.isNotEmpty(installPath)){ + String param = "?" + Constants.ACCESS_PORT + "=" + port + "&" + Constants.ACCESS_SYSTEM_TOKEN + "=" + systemToken + "&" + Constants.ACCESS_INSTALL_PATH + "=" + installPath; + value.put("forward",ControllerMapping.MAINDEV.toString() + param); + }else{ + value.put("forward",ControllerMapping.MAIN.toString()); + } + jsonStr = JSON.toJSONString(value); + } + return jsonStr; + } catch ( Exception e ) { + e.getMessage(); + throw new RuntimeException( e.getMessage() ); + } + } + + /** + * login screen init + * + * @param httpSession + * @return + */ + @RequestMapping(value = "init") + @ResponseBody + public String init(HttpSession httpSession) { + // Enumeration<String> attributes = httpSession.getAttributeNames(); + // while ( attributes.hasMoreElements() ) { + // String name = attributes.nextElement(); + // httpSession.removeAttribute( name ); + // } + /* httpSession.invalidate();*/ + return JsonMapperUtils.getJsonString( Constants.STATUS_SUCCESS, ControllerMapping.LOGIN.toString(), null ); + } + + /** + * logout + * + * @param httpSession + * @return + */ + @RequestMapping(value = "logout") + @ResponseBody + public String logout(HttpSession httpSession) { + Enumeration<String> attributes = httpSession.getAttributeNames(); + while (attributes.hasMoreElements()) { + String name = attributes.nextElement(); + httpSession.removeAttribute(name); + } + httpSession.invalidate(); + return ""; + } + +}
\ No newline at end of file |