Пример #1
0
        public static bool IsAuthenticated(string strUser, string strPassword)
        {
            ADUsersController ADUserCtrl = new ADUsersController();
            ADUsersInfo       UserInfo   = (ADUsersInfo)ADUserCtrl.GetObjectByName(strUser);

            return(UserInfo != null && UserInfo.ADPassword.Equals(new Crypto().Encrypt(strPassword)));
        }
Пример #2
0
        private bool IsValid()
        {
            string username = Convert.ToString(fld_txtUsername.EditValue);

            if (string.IsNullOrEmpty(username))
            {
                MessageBox.Show("Tên đăng nhập không được bỏ trống", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
            ADUsersController objUsersController = new ADUsersController();
            ADUsersInfo       existingUser       = (ADUsersInfo)objUsersController.GetObjectByName(username);

            if (existingUser != null && existingUser.ADUserID != ADUsers.ADUserID)
            {
                MessageBox.Show("Tên đăng nhập đã được sử dụng. Vui lòng chọn tên đăng nhập khác!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return(false);
            }
            if (ADUsers.ADUserID == 0)
            {
                if (String.IsNullOrEmpty(ADUsers.ADPassword))
                {
                    MessageBox.Show("Mật khẩu không đc để trống", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
            }

            //if (!string.IsNullOrEmpty(objUsersInfo.ADPassword) && objUsersInfo.ADPassword != fld_txtConfirmPassword.Text)
            //{
            //    MessageBox.Show(UserManagementLocalizedResources.PasswordNotMatchMessage, "Thông báo" MessageBoxButtons.OK, MessageBoxIcon.Error);
            //    return false;
            //}
            return(false);
        }
Пример #3
0
        public static bool IsAuthenticated(string username, string password, out string strMessage)
        {
            strMessage = string.Empty;
            ADUsersController adUsersController = new ADUsersController();
            ADUsersInfo       objUsersInfo      = (ADUsersInfo)adUsersController.GetObjectByName(username);

            if (objUsersInfo == null)
            {
                return(false);
            }

            if (!objUsersInfo.ADUserActiveCheck)
            {
                strMessage = "Tài khoản của bạn đã bị khóa. Vui lòng thử lại sau!";
                return(false);
            }

            if (!objUsersInfo.ADPassword.Equals(VinaUtil.EncryptMD5Hash(password)))
            {
                strMessage = "Tài khoản hoặc mật khẩu không chính xác. Vui lòng thử lại!";
                return(false);
            }
            VinaApp.CurrentUserName = objUsersInfo.ADUserName;
            VinaApp.CurrentUserInfo = objUsersInfo;
            return(true);
        }
Пример #4
0
        public static string LogIn(string strSrv, string strUser, string strPassword, System.DateTime dt)
        {
            ConnectionAuth(strSrv);
            if (!SqlDatabaseHelper.TestConnection())
            {
                return("Không kết nối được CSDL! Vui lòng liên hệ người quản trị!");
            }
            ADUsersController ADUserCtrl = new ADUsersController();

            CurrenUserInfo = (ADUsersInfo)ADUserCtrl.GetObjectByName(strUser);
            ADUserConfigsInfo UserCfgInfo = new ADUserConfigsController().GetFirstObject() as ADUserConfigsInfo;

            GMCWebApp.GetLocalMachineInfo();
            if (CurrenUserInfo != null && CurrenUserInfo.ADUserIsLockedCheck)
            {
                return("Tài khoản đăng nhập này đã bị khóa! Vui lòng liên hệ người quản trị!");
            }
            else if (IsUserLoggedIn(strUser))
            {
                GEUserAuditsInfo UserAudisInfo = new GEUserAuditsController().GetGEUserAuditsByADUserName(strUser);
                return(string.Format("Người dùng này đã đăng nhập trên máy {0} với địa chỉ IP {1}!", UserAudisInfo.GEUserAuditPCName, UserAudisInfo.GEUserAuditIP));
            }
            else if (IsAuthenticated(strUser, strPassword))
            {
                if (!new ADUserGroupsController().IsExist(CurrenUserInfo.ADUserGroupID))
                {
                    return(string.Format("Nhóm người dùng của tài khoản {0} không tồn tại trên hệ thống!", strUser));
                }
                else
                {
                    SetCurrentUserLogin(dt);
                    SaveUserAuditLogin("Login");
                    if (UserCfgInfo != null && UserCfgInfo.ADUserConfigPassDayExpires > 0)
                    {
                        if (new ADUserPassHistorysController().IsOldPassExpired(CurrenUserInfo.ADUserID, UserCfgInfo.ADUserConfigPassDayExpires))
                        {
                            return("Mật khẩu đã hết hạn! Vui lòng đổi mật khẩu mới!");
                        }
                    }
                }
            }
            else
            {
                int iCountLoginFail = new GEUserAuditsController().GetCountLoginFail(strUser, "WebHome", dt);
                iCountLoginFail++;
                if (UserCfgInfo != null && (iCountLoginFail >= UserCfgInfo.ADUserConfigMaxLogonCount) && UserCfgInfo.ADUserConfigMaxLogonCount > 0)
                {
                    SaveUserAuditLogin("LoginFailLock", 0, strUser);
                    if (CurrenUserInfo != null)
                    {
                        CurrenUserInfo.ADUserIsLockedCheck = true;
                        CurrenUserInfo.ADUserLockedInfo    = Environment.MachineName + ", " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
                        ADUserCtrl.UpdateObject(CurrenUserInfo, true, "ADUserIsLockedCheck", "ADUserLockedInfo");
                    }
                    return(string.Format("Vượt quá số lần đăng nhập sai cho phép! Tài khoản đăng nhập {0} đã bị khóa", strUser));
                }
                SaveUserAuditLogin("LoginFail", 0, strUser);
                string strError = "Tên đăng nhập/ Mật khẩu không hợp lệ!";
                if (UserCfgInfo != null && UserCfgInfo.ADUserConfigMaxLogonCount > 0)
                {
                    strError += string.Format(" Còn lại {0} lần thử", UserCfgInfo.ADUserConfigMaxLogonCount - iCountLoginFail);
                }
                return(strError);
            }
            ADConfigValueUtility.InitGlobalConfigValueTables();
            return("");
        }