예제 #1
0
파일: Auth.cs 프로젝트: geshtop/5780_final1
 public Enums.AuthPermission Login(string user, string password, out Enums.LoginStatus status, out int OwnerId)
 {
     OwnerId = 0;
     Enums.AuthPermission ret = Enums.AuthPermission.Guest;
     status = Enums.LoginStatus.Faild;
     //check for admin
     if (user == "admin")
     {
         var appSettingsPass = ConfigurationManager.AppSettings["AdminPasword"];
         if (password == appSettingsPass)
         {
             status = Enums.LoginStatus.Success;
             ret = Enums.AuthPermission.Admin;
         }
     }
     else
     {
         var owner =  dal.GetAllHosts(c=>c.Password == password && c.MailAddress == user).FirstOrDefault();
         if (owner != null)
         {
             status = Enums.LoginStatus.Success;
             ret = Enums.AuthPermission.Host;
             OwnerId = owner.Id;
         }
     }
     return ret;
 }
예제 #2
0
        public ActionResult ResetPassword(FormCollection collection)
        {
            string username    = WebSession.Username;
            string password    = collection.Get("password");
            string conPassword = collection.Get("confirmpassword");

            if (password != conPassword)
            {
                SetAlertMessage(Resource.PasswordNotMatch, Enums.AlertType.warning);
                ViewBag.username = WebSession.Username;
                return(RedirectToAction("SetPassword"));
            }
            LoginModel model = new LoginModel();

            Enums.LoginStatus status = model.ResetPassword(username, password);
            if (status != Enums.LoginStatus.Authenticate)
            {
                if (status == Enums.LoginStatus.InvalidUser)
                {
                    SetAlertMessage(Resource.UserInvalid, Enums.AlertType.warning);
                }
                else if (status == Enums.LoginStatus.Exception)
                {
                    SetAlertMessage(Resource.Exception, Enums.AlertType.danger);
                }
                ViewBag.username = WebSession.Username;
                return(RedirectToAction("SetPassword"));
            }
            else
            {
                SetAlertMessage(Resource.PasswordSet, Enums.AlertType.success);
                WebSession.Username = "";
                return(RedirectToAction("Login"));
            }
        }
예제 #3
0
        public ActionResult SetChangePassword(FormCollection collection)
        {
            string oldPassword    = collection.Get("oldpassword");
            string newPassword    = collection.Get("newpassword");
            string newConPassword = collection.Get("confirmnewpassword");

            if (newPassword != newConPassword)
            {
                SetAlertMessage(Resource.PasswordNotMatch, Enums.AlertType.warning);
                return(RedirectToAction("SetPassword"));
            }
            LoginModel model = new LoginModel();

            Enums.LoginStatus status = model.ChangePassword(WebSession.Username, newPassword, oldPassword);
            if (status != Enums.LoginStatus.Authenticate)
            {
                if (status == Enums.LoginStatus.InvalidUser)
                {
                    SetAlertMessage(Resource.UserInvalid, Enums.AlertType.warning);
                }
                else if (status == Enums.LoginStatus.Exception)
                {
                    SetAlertMessage(Resource.Exception, Enums.AlertType.danger);
                }
                if (WebSession.HasDefaultPassword)
                {
                    WebSession.HasDefaultPassword = false;
                    List <ShopListModel> ShopList = model.ShopList();
                    if (ShopList.Count > 1)
                    {
                        TempData["shopList"] = ShopList;
                        return(RedirectToAction("ShopSelection", "Login"));
                    }
                    else
                    {
                        return(RedirectToAction("index", "Home", model));
                        //return RedirectToAction("../Home/dashboard", model);
                    }
                }
                return(RedirectToAction("changepassword"));
            }
            else
            {
                SetAlertMessage(Resource.PasswordSet, Enums.AlertType.success);
                return(RedirectToAction("login"));
            }
        }
예제 #4
0
        public ActionResult GetUsername(string mobile)
        {
            LoginModel model = new LoginModel();

            Enums.LoginStatus status = model.GetUsername(mobile);
            if (status != Enums.LoginStatus.SmsSend)
            {
                SetAlertMessage(Resource.Username_Send_on_SMS, Enums.AlertType.success);
            }
            else if (status != Enums.LoginStatus.MobileNoExist)
            {
                SetAlertMessage(Resource.Mobile_Number_Not_Exist, Enums.AlertType.danger);
            }
            else
            {
                SetAlertMessage(Resource.HttpStatus_InternalServerError, Enums.AlertType.danger);
            }
            return(View("ForgetUsername"));
        }
예제 #5
0
        public ActionResult GetLogin(string username, string password)
        {
            LoginModel model = new LoginModel();

            Enums.LoginStatus status = model.getLogin(username, password);
            if (status != Enums.LoginStatus.Authenticate)
            {
                if (status == Enums.LoginStatus.InvalidCredential)
                {
                    SetAlertMessage(Resource.InvalidCredential, Enums.AlertType.danger);
                }
                else if (status == Enums.LoginStatus.LoginBlocked)
                {
                    SetAlertMessage(Resource.LoginBlocked, Enums.AlertType.warning);
                }
                else if (status == Enums.LoginStatus.AttemptExceeded)
                {
                    SetAlertMessage(Resource.LoginAttemptExceeded, Enums.AlertType.warning);
                }
                else if (status == Enums.LoginStatus.NotExist)
                {
                    SetAlertMessage(Resource.LoginNotExist, Enums.AlertType.warning);
                }
                else if (status == Enums.LoginStatus.LoginBlocked)
                {
                    SetAlertMessage(Resource.LoginBlocked, Enums.AlertType.warning);
                }
                else if (status == Enums.LoginStatus.Inactive)
                {
                    SetAlertMessage(Resource.UserInactive, Enums.AlertType.warning);
                }
                else if (status == Enums.LoginStatus.UserBlocked)
                {
                    SetAlertMessage(Resource.UserBlocked, Enums.AlertType.warning);
                }
                else if (status == Enums.LoginStatus.UserDeleted)
                {
                    SetAlertMessage(Resource.UserDeleted, Enums.AlertType.warning);
                }
                else if (status == Enums.LoginStatus.NoShopMapped)
                {
                    return(RedirectToAction("NoShopMapped"));
                }
                else if (status == Enums.LoginStatus.HasDefaultPassword)
                {
                    return(RedirectToAction("ChangePassword"));
                }
                return(RedirectToAction("login"));
            }
            else
            {
                List <ShopListModel> ShopList = model.ShopList();
                if (ShopList.Count > 1)
                {
                    TempData["shopList"] = ShopList;
                    return(RedirectToAction("ShopSelection", "Login"));
                }
                else
                {
                    return(RedirectToAction("index", "Home", model));
                    //return RedirectToAction("../Home/dashboard", model);
                }
            }
        }