コード例 #1
0
        public JsonResult 員工登入(EmployeeLoginViewModel e登入資料)
        {
            MotaiDataEntities dbContext = new MotaiDataEntities();
            tEmployee         d資料確認     = dbContext.tEmployees.Where(e => e.eAccount == e登入資料.eAccount && e.ePassword.Equals(e登入資料.ePassword)).FirstOrDefault();

            if (d資料確認 != null)
            {
                Session[CSession關鍵字.SK_LOGINED_EMPLOYEE] = d資料確認;
                switch (d資料確認.eBranch)
                {
                case 1:
                    return(Json(new { result = true, msg = "登入成功", url = Url.Action("Boss首頁", "Boss") }));

                case 2:
                    return(Json(new { result = true, msg = "登入成功", url = Url.Action("Business首頁", "Business") }));

                case 3:
                    return(Json(new { result = true, msg = "登入成功", url = Url.Action("Accountant首頁", "Accountant") }));

                case 4:
                    return(Json(new { result = true, msg = "登入成功", url = Url.Action("People首頁", "People") }));

                case 5:
                    return(Json(new { result = true, msg = "登入成功", url = Url.Action("Commodity首頁", "Commodity") }));

                default:
                    return(Json(new { result = true, msg = "帳號或密碼有誤", url = Url.Action("員工首頁", "Employee") }));
                }
            }
            else
            {
                return(Json(new { result = false, msg = "帳號或密碼有誤" }));
            }
        }
コード例 #2
0
        public ActionResult Login(EmployeeLoginViewModel emp)
        {
            if (ModelState.IsValid)
            {
                //判断是否登录成功
                if (db.Employees.Count(p => p.Account == emp.Account && p.Password == emp.Password) == 1)
                {
                    Session["User"] = emp.Account;
                    var userType = (from user in db.Employees
                                    where user.Account == emp.Account
                                    select user.Department.Name).First();

                    Session["UserType"] = userType;

                    var cookie = SetCookie(emp.Account, userType.ToString());

                    Response.Cookies.Add(cookie);

                    var userloghis = new UserLogHis {
                        Account = emp.Account, Cookie = cookie.Value, LoginTime = DateTime.Now
                    };
                    db.UserLoginHistory.Add(userloghis);
                    db.SaveChanges();

                    return(RedirectToAction("Index"));
                }
            }

            return(Redirect("/Employee/login"));
        }
コード例 #3
0
        public ActionResult EmployeeMain(EmployeeLoginViewModel eivm)
        {
            if (eivm.Password == null || eivm.EmpNo == 0)
            {
                return(View("Login"));
            }
            Employee employee = new Employee();

            employee.EmpNo    = eivm.EmpNo;
            employee.Password = eivm.Password;
            using (var db = new ModelContext())
            {
                var ul = db.Employees.Find(employee.EmpNo);
                if (ul == null)
                {
                    ViewBag.IsAuth = false;
                    return(View("Login"));
                }
                else if (employee.EmpNo == ul.EmpNo && employee.Password == ul.Password)
                {
                    Session["Employee"]     = ul.EmpNo;
                    Session["EmployeeName"] = ul.EmpName;
                    return(View());
                }
                else
                {
                    ViewBag.IsAuth = false;
                    return(View("Login"));
                }
            }
        }
コード例 #4
0
        //public bool IsExisting()
        //{
        //	throw new NotImplementedException();
        //}

        public bool IsValidCredentials(EmployeeLoginViewModel empLoginViewModel)
        {
            return(empData.GetData()
                   .Any(e => e.EmployeeId == empLoginViewModel.EmployeeId &&
                        e.Password == empLoginViewModel.Password));

            //return true;
        }
コード例 #5
0
 public async Task <IActionResult> Login(EmployeeLoginViewModel model)
 {
     if (ModelState.IsValid)
     {
         await _signInManager.PasswordSignInAsync(model.Email, model.Password, isPersistent : model.RememberMe,
                                                  lockoutOnFailure : false);
     }
 }
コード例 #6
0
        public ActionResult 員工登入(EmployeeLoginViewModel e登入資料)
        {
            MotaiDataEntities dbContext = new MotaiDataEntities();
            tEmployee         d資料確認     = dbContext.tEmployees.Where(e => e.eAccount == e登入資料.eAccount && e.ePassword.Equals(e登入資料.ePassword)).FirstOrDefault();

            if (d資料確認 != null)
            {
                Session[CSession關鍵字.SK_LOGINED_EMPLOYEE] = d資料確認;
                return(RedirectToAction("員工首頁"));
            }
            else
            {
                Response.Write("帳號密碼錯誤!");
                return(View());
            }
        }
コード例 #7
0
        public IActionResult Login(EmployeeLoginViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var result = employeeManager.Find(viewModel);

                if (result.Designation == "Employee")
                {
                    return(RedirectToAction("Submit", "Home", new { email = result.Email }));
                }
                else
                {
                    return(RedirectToAction("Index", new RouteValueDictionary(new { controller = "Home", action = "Index", id = result.Id, role = result.Designation })));
                }
            }
            return(View());
        }
コード例 #8
0
        public ActionResult EmployeeLogin(EmployeeLoginViewModel LoginFromViewModel)
        {
            var emp = repository.GetEmployee(LoginFromViewModel);

            if (emp == null)
            {
                return(Content("Invalid Sap Id or Mail Id"));
            }
            else if (emp.Password == LoginFromViewModel.Password)
            {
                return(RedirectToAction("Index", "Employee"));
            }
            else
            {
                return(Content("Incorrect Password....Try again!!!!"));
            }
        }
コード例 #9
0
 public IActionResult Login(EmployeeLoginViewModel model)
 {
     if (_context.Employees.Any(e => e.Username == model.Username))
     {
         if (_context.Employees.Any(e => e.Password == model.Password))
         {
             if (_context.Employees.Any(e => e.Username == model.Username && e.Role == "Administrator"))
             {
                 return(RedirectToAction(nameof(ListEmployees)));
             }
             else if (_context.Employees.Any(e => e.Username == model.Username && e.Role == "Employee"))
             {
                 return(RedirectToAction(nameof(ListFlights)));
             }
         }
     }
     return(View());
 }
コード例 #10
0
        public async Task <IActionResult> Login(EmployeeLoginViewModel model)
        {
            var employeeLogin = new EmployeeLoginViewModel();

            // ViewBag.Error = "";
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("https://localhost:44350/api/Employee/");

                //HTTP POST
                var postTask = await client.PostAsJsonAsync <EmployeeLoginViewModel>("Login", model);

                //postTask.Wait();

                var result = postTask.Content.ReadAsStringAsync();
                employeeLogin = JsonConvert.DeserializeObject <EmployeeLoginViewModel>(result.Result);
            }
            if (employeeLogin == null)
            {
                //ViewBag.Error = "Email or Password is not correct!";
                return(RedirectToAction("Login", new { message = "Email or Password is not correct!" }));
            }
            else
            {
                try
                {
                    var tokenClient   = new TokenClient(Configuration["AuthenticationServer:Authority"] + "connect/token", "Inside", Configuration["Client:Inside:Secret"]);
                    var tokenResponse = await tokenClient.RequestClientCredentialsAsync(Configuration["AuthenticationServer:ApiName"]);

                    if (!String.IsNullOrEmpty(employeeLogin.Email))
                    {
                        HttpContext.Session.SetString("Token", tokenResponse.AccessToken);
                    }
                    //return EmployeeViewModelList == null ? new List<EmployeeViewModel>() : EmployeeViewModelList;
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    throw ex;
                    throw;
                }
            }
        }
コード例 #11
0
        public async Task <IActionResult> Login(EmployeeLoginViewModel model, string ReturnUrl)
        {
            if (ModelState.IsValid)
            {
                var Result = await signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, false);

                if (Result.Succeeded)
                {
                    if (!string.IsNullOrEmpty(ReturnUrl))
                    {
                        return(LocalRedirect(ReturnUrl));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                }
                ModelState.AddModelError(String.Empty, "Invalid Login Attempt");
            }
            return(View(model));
        }
コード例 #12
0
        //public void Login()
        //{
        //	Employee emp = new Employee
        //	{
        //		EmployeeId = _loginView.EmployeeId,
        //		Password = _loginView.Password
        //	};

        //	var form = _loginView as Main;

        //	if (form != null)
        //	{
        //		if (_logger.IsValidCredentials())
        //		{
        //			form.Close();

        //			Thread th = new Thread(() => Application.Run(new Dashboard()));
        //			th.Start();
        //		}
        //	}
        //	else
        //		MessageBox.Show("Invalid credentials");
        //}

        public void Login(EmployeeLoginViewModel empLoginViewModel)
        {
            if (_logger.IsValidCredentials(empLoginViewModel))
            {
                if (_loginView is Main form)
                {
                    form.Close();

                    var emp = new EmployeeData().GetItem(empLoginViewModel.EmployeeId);

                    Thread th = new Thread
                                    (() => Application.Run(new Dashboard(emp)));

                    th.Start();
                }
            }
            else
            {
                MessageBox.Show("Invalid credentials");
            }
        }
コード例 #13
0
        public async Task <ActionResult <EmployeeViewModel> > Login([FromBody] EmployeeLoginViewModel employeeLoginViewModel)
        {
            if (string.IsNullOrEmpty(employeeLoginViewModel.Email) || string.IsNullOrEmpty(employeeLoginViewModel.PassWord))
            {
                return(Ok("Email hoặc mật khẩu không chính xác."));
            }


            var employee = await _context.Employees
                           .Where(u => u.Email == employeeLoginViewModel.Email &&
                                  u.PassWord == Auth.MD5.CreateMD5(employeeLoginViewModel.PassWord))
                           .FirstOrDefaultAsync();

            if (employee == null)
            {
                return(Ok("Email hoặc mật khẩu không chính xác."));
            }
            if (employee.IsBlocked)
            {
                return(Ok("Tài khoản đang tạm khóa."));
            }
            EmployeeViewModel employeeViewModel = null;

            if (employee != null)
            {
                RefreshTokenEmployee refreshToken = GenerateRefreshToken();
                employee.RefreshTokenEmployees.Add(refreshToken);
                await _context.SaveChangesAsync();

                employeeViewModel = new EmployeeViewModel(employee);
                employeeViewModel.RefreshToken = refreshToken.Token;
            }



            //sign token here
            employeeViewModel.AccessToken = GenerateAccessToken(employee.EmployeeId);

            return(employeeViewModel);
        }
コード例 #14
0
        public async Task <IActionResult> LoginJWT(EmployeeLoginViewModel model)
        {
            var employeeLogin = new EmployeeLoginViewModel();

            // ViewBag.Error = "";
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("https://localhost:44325/api/Employee/");

                //HTTP POST
                var postTask = await client.PostAsJsonAsync("authenticate", model);

                //postTask.Wait();

                var result = postTask.Content.ReadAsStringAsync();
                employeeLogin = JsonConvert.DeserializeObject <EmployeeLoginViewModel>(result.Result);
            }
            if (employeeLogin == null)
            {
                //ViewBag.Error = "Email or Password is not correct!";
                return(RedirectToAction("Login", new { message = "Email or Password is not correct!" }));
            }
            else
            {
                try
                {
                    if (!String.IsNullOrEmpty(employeeLogin.Email))
                    {
                        HttpContext.Session.SetString("Token", employeeLogin.Token);
                    }
                    //return EmployeeViewModelList == null ? new List<EmployeeViewModel>() : EmployeeViewModelList;
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    throw ex;
                    throw;
                }
            }
        }
コード例 #15
0
        public Employee GetEmployee(EmployeeLoginViewModel LoginFromViewModel)
        {
            var emp = dbContext.Employees.FirstOrDefault(e => e.EmailId == LoginFromViewModel.UserId || e.SapId.ToString() == LoginFromViewModel.UserId);

            return(emp);
        }
コード例 #16
0
 public EmployeeViewModel Find(EmployeeLoginViewModel employee)
 {
     return(_mapper.Map <EmployeeViewModel>(employeeManager.Find(x => x.Email == employee.Email)));
 }
コード例 #17
0
        public ActionResult ValidateUser([Bind(Include = "username,password")] EmployeeLoginViewModel emp_login_view)
        {
            if (ModelState.IsValid)
            {
                string username = emp_login_view.Username;
                string password = emp_login_view.Password;

                Employee employee_logon = db.Employees.Where(emp => emp.Username.ToLower().Equals(username.ToLower())).FirstOrDefault();

                string ipv4    = GetIp();
                Log    new_log = new Log {
                    Attempt_Time = DateTime.Now,
                    Ipv4         = ipv4,
                };

                if (db.Ipv4Blacklist.Any(r => r.Ipv4.Equals(ipv4)))
                {
                    return(Json(new { EnableError = true, ErrorTitle = "Error", ErrorMsg = "Blacklisted IP Address. Please contact system admin." }));
                }

                // Check if valid username
                if (employee_logon != null)
                {
                    // Check if the user is suspended
                    if (employee_logon.Status == 3 || employee_logon.Status == 2)
                    {
                        new_log.successful  = false;
                        new_log.Employee_ID = employee_logon.Employee_ID;
                        db.Logs.Add(new_log);
                        db.SaveChanges();

                        string error_msg = "Your account has been suspended or disabled. Please contact admin";
                        return(Json(new { EnableError = true, ErrorTitle = "Error", ErrorMsg = error_msg }));
                    }
                    // Check if the password is correct
                    else if (Hashing.ValidatePassword(password, employee_logon.Password))
                    {
                        new_log.successful  = true;
                        new_log.Employee_ID = employee_logon.Employee_ID;
                        db.Logs.Add(new_log);
                        db.SaveChanges();

                        HttpApplicationStateBase app_state = HttpContext.Application;

                        FormsAuthentication.SetAuthCookie(new_log.Employee_ID.ToString(), false);
                        // Create a new logon session
                        Session["logon"] = new_log;

                        app_state.Lock();
                        // If the username didnt logon in before
                        if (app_state[new_log.Employee_ID.ToString()] == null)
                        {
                            app_state.Add(new_log.Employee_ID.ToString(), Session.SessionID);
                        }
                        // If the username is logged in and have active session
                        else
                        {
                            string sess_ID = app_state[new_log.Employee_ID.ToString()] as string;
                            if (!sess_ID.Equals(Session.SessionID))
                            {
                                app_state[new_log.Employee_ID.ToString()] = Session.SessionID;
                            }
                        }
                        app_state.UnLock();

                        return(Json(new { EnableSuccess = true, RedirectUrl = "/Employees" }));
                    }
                    // if user is suspended or password is incorrect
                    else
                    {
                        new_log.successful  = false;
                        new_log.Employee_ID = employee_logon.Employee_ID;
                        db.Logs.Add(new_log);
                        db.SaveChanges();
                    }
                }

                // if username is invalid
                else
                {
                    new_log.successful = false;
                    db.Logs.Add(new_log);
                    db.SaveChanges();
                }
            }

            return(Json(new { EnableError = true, ErrorTitle = "Error", ErrorMsg = "Invalid username or password" }));
        }