public ActionResult Login(AccountInfoData accountInfoData) { ExecuteResult result = new ExecuteResult(); if (!ModelState.IsValid) { CurrentHttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; accountInfoData.Message = "請填寫必填欄位"; return(View(accountInfoData)); } else { result = _loginService.AccountValid(accountInfoData); if (!result.IsSuccessed) { CurrentHttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; accountInfoData.Message = result.Message; return(View(accountInfoData)); } else { UserDTO user = _loginService.GetUserDataByAccountName(accountInfoData); SecurityLevel securityLevel = new SecurityLevel(); AccountInfoData userInfoData = new AccountInfoData() { UserId = user.UserID, AccountName = accountInfoData.AccountName }; securityLevel.UserData = userInfoData; securityLevel.SecurityRole = _loginService.GetRoleDataByUserID(user.UserID.ToString()).ToList(); securityLevel.SecurityUrl.AddRange(_securityService.GetSecurityRoleFunction(securityLevel.UserData.UserId.ToString())); CurrentSecurityLevel = securityLevel; CurrentHttpContext.Session["UserName"] = user.UserName; CurrentHttpContext.Session["UserID"] = user.UserID; CurrentHttpContext.Session["AccountName"] = user.AccountName; // UnitTest用 //if (HttpContext == null) //{ // CurrentHttpContext.Session[AccountInfoData.LoginInfo] = securityLevel; // CurrentHttpContext.Session["UserName"] = user.UserName; //} //else //{ // SessionConnectionPool.SetCurrentUserInfo(securityLevel); // Session["UserName"] = user.UserName; //} return(RedirectToAction("Index", "Home")); } } }
public ActionResult Login(AccountInfoData accountInfoData) { ExecuteResult result = new ExecuteResult(); if (!ModelState.IsValid) { Response.StatusCode = (int)HttpStatusCode.BadRequest; result.IsSuccessed = false; result.Message = "請填寫必填欄位"; return(Json(result, JsonRequestBehavior.AllowGet)); } else { result = _loginService.AccountValid(accountInfoData); if (!result.IsSuccessed) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(result, JsonRequestBehavior.AllowGet)); } else { UserDTO user = _loginService.GetUserDataByAccountName(accountInfoData); SecurityLevel securityLevel = new SecurityLevel(); AccountInfoData userInfoData = new AccountInfoData() { UserId = user.UserID, AccountName = accountInfoData.AccountName, UserName = accountInfoData.UserName }; securityLevel.UserData = userInfoData; securityLevel.SecurityRole = _loginService.GetRoleDataByUserID(user.UserID.ToString()).ToList(); foreach (var item in securityLevel.SecurityRole) { securityLevel.SecurityUrl.AddRange(_securityService.GetSecurityRoleFunction(item.RoleID.ToString())); } SessionConnectionPool.SetCurrentUserInfo(securityLevel); Session["UserName"] = user.UserName; Response.StatusCode = (int)HttpStatusCode.OK; return(Json(securityLevel, JsonRequestBehavior.AllowGet)); //return Redirect("http://localhost:4200/"); } } }