Ejemplo n.º 1
0
        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"));
                }
            }
        }
Ejemplo n.º 2
0
        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/");
                }
            }
        }