Esempio n. 1
0
        public string RegisterUsers(Dictionary <string, object> args)
        {
            FnCommon.ThrowInfoIsEmpty(args, "user_desc", "<n-lang code='REQUIRE_USER_DESC'>Nhập vào họ tên!!!</n-lang>");
            FnCommon.ThrowInfoIsEmpty(args, "email", "<n-lang code='REQUIRE_EMAIL'>Nhập vào thông tin Email!!!</n-lang>");
            FnCommon.ThrowInfoIsEmpty(args, "pwd", "<n-lang code='REQUIRE_PASSWORD'>Nhập vào mật khẩu!!!</n-lang>");
            FnCommon.ThrowInfoIsEmpty(args, "textCaptChar", "Nhập vào mã xác nhận!!!");

            if (FnEncypt.rpHash(args["textCaptChar"].ToString()) != args["textCaptCharHash"].ToString())
            {
                throw new NService.NSInfoException("Mã xác thực không hợp lệ!!!");
            }



            string reg_code = Guid.NewGuid().ToString();

            args.Add("upd_date", System.DateTime.Now.ToString("yyyyMMddHHmmss"));
            args.Add("reg_code", reg_code);

            //Get content config file
            string strFileActive = FnConfig.getFileConfig("Template", "User.ActiveAccount.html");
            Dictionary <string, object> dicAppsInfo = FnConfig.dicApps("Info");

            //Merge to Main Dic
            args = FnCommon.MergeDic(args, dicAppsInfo);
            args = FnCommon.MergeDic(args, FnConfig.dicApps("User"));

            //Check Valid
            DataTable dtActive = DBHelper.Instance.Query("Apps.Manage.Base.Users.GetUserWaitingActive", args).Tables[0];

            if (dtActive.Rows.Count > 0)
            {
                throw new NService.NSInfoException("Email của bạn đã đăng ký, đang chờ được kích hoạt. Xin kiểm tra hộp thư của bạn");
            }

            DataTable dtUser = DBHelper.Instance.Query("Apps.Manage.Base.Users.GetUsersByEmail", args).Tables[0];

            if (dtUser.Rows.Count > 0)
            {
                throw new NService.NSInfoException("Email của bạn đã được đăng ký");
            }


            args["AppLinkActive"] = args["Config_AppLink"] + "/Apps/User/UserInfo.aspx#/activeusers/regcode/" + reg_code + "?email=" + args["email"].ToString();
            //Replace content email
            string str = FnCommon.ReplaceBetWeenStr(strFileActive, "===", args);

            args["pwd"] = FnSecurity.GeneratePassword(args["pwd"].ToString());

            //Insert Data
            DBHelper.Instance.Execute("Apps.Manage.Base.Users.RegisterUsers", args);

            string subject = "Kích hoạt tài khoản " + dicAppsInfo["ShortAppName"].ToString();

            //Send Mail
            Tool.SendMail(dicAppsInfo["ShortAppName"].ToString(), subject, args["email"].ToString(), "", str, null);


            return("1");
        }
Esempio n. 2
0
        //Tam thoi khong luu tru thong tin cookie
        public DataRow LoginUser_Cookie(Dictionary <string, object> args)
        {
            FnCommon.ThrowInfoIsEmpty(args, "email", "Nhập vào thông tin Email!!!");
            FnCommon.ThrowInfoIsEmpty(args, "pwd", "Nhập vào mật khẩu!!!");

            bool saveCookie = false;

            #region RememberPwd
            if (FnCommon.TryGetValue(args, "isrememberpwd").ToLower() == "true") //Get pwd from cookie.Pwd is config empty in sql file
            {
                CookieAuthenticateModule    cookieUser = new CookieAuthenticateModule();
                Dictionary <string, object> dicUser    = new Dictionary <string, object>();
                try
                {
                    dicUser     = Tool.ToDic(cookieUser.GetUserMemoryUser());
                    args["pwd"] = dicUser["pwd"].ToString();
                }
                catch
                {
                    args["pwd"] = "";
                }
            }
            else
            {
                args["pwd"] = FnSecurity.GeneratePassword(args["pwd"].ToString());
                CookieAuthenticateModule cookieUser = new CookieAuthenticateModule();
                cookieUser.ClearRememberUserMemory();
            }

            //Save Cookie
            if (FnCommon.TryGetValue(args, "rememberpwd").ToLower() == "true") //Get pwd from cookie.Pwd is config empty in sql file
            {
                saveCookie = true;
            }

            #endregion


            DataRow dr = Tool.ToRow(DBHelper.Instance.Query("Apps.Manage.Base.Users.LoginUser", args));
            if (dr == null)
            {
                CookieAuthenticateModule cookieUser = new CookieAuthenticateModule();
                cookieUser.ClearUserMemory();
                throw new NService.NSInfoException("Tài khoản đăng nhập hoặc mật khẩu không hợp lệ!!!");
            }
            else
            {
                #region AutoLogin
                if (FnCommon.TryGetValue(args, "autologin").ToLower() == "true") //Load pwd from cookie
                {
                    CookieAuthenticateModule cookieUser = new CookieAuthenticateModule();
                    cookieUser.SetAutoLogin(dr["user_id"].ToString());
                }
                #endregion
            }

            NService.AuthenticateHelper.Instance.Login(dr["user_id"].ToString(), saveCookie);
            return(dr);
        }
Esempio n. 3
0
        public DataRow LoginUser(Dictionary <string, object> args)
        {
            FnCommon.ThrowInfoIsEmpty(args, "email", "Nhập vào thông tin Email!!!");
            FnCommon.ThrowInfoIsEmpty(args, "pwd", "Nhập vào mật khẩu!!!");
            args["pwd"] = FnSecurity.GeneratePassword(args["pwd"].ToString());

            DataRow dr = Tool.ToRow(DBHelper.Instance.Query("Apps.Manage.Base.Users.LoginUser", args));

            if (dr == null)
            {
                throw new NService.NSInfoException("Tài khoản đăng nhập hoặc mật khẩu không hợp lệ!!!");
            }

            NService.AuthenticateHelper.Instance.Login(dr["user_id"].ToString());

            args.Add("user_id", dr["user_id"].ToString());
            args.Add("last_login", System.DateTime.Now.ToString("yyyyMMddHHmmss"));

            DBHelper.Instance.Execute("Apps.Manage.Base.Users.UpdateLoginInfo", args);
            return(dr);
        }
Esempio n. 4
0
        public string ActiveRecoveryPwd(Dictionary <string, object> args)
        {
            FnCommon.ThrowInfoIsEmpty(args, "reg_code", "Nhập vào mã kích hoạt!!!");
            FnCommon.ThrowInfoIsEmpty(args, "pwd", "Nhập vào mật khẩu mới!!!");
            FnCommon.ThrowInfoIsEmpty(args, "textCaptChar", "Nhập vào mã xác nhận!!!");

            if (FnEncypt.rpHash(args["textCaptChar"].ToString()) != args["textCaptCharHash"].ToString())
            {
                throw new NService.NSInfoException("Mã xác thực không hợp lệ!!!");
            }

            args.Add("upd_date", System.DateTime.Now.ToString("yyyyMMddHHmmss"));

            //Get OverActiveDays
            args = FnCommon.MergeDic(args, FnConfig.dicApps("User"));


            //kiem tra reg code phu hop khong
            DataTable dtUserIsActive = DBHelper.Instance.Query("Apps.Manage.Base.Users.rec_GetUserIsActive", args).Tables[0];

            if (dtUserIsActive.Rows.Count < 1)
            {
                throw new NService.NSInfoException("Mã kích hoạt không hợp lệ!!!");
            }
            else
            {
                if (dtUserIsActive.Rows[0]["is_active"].ToString() == "Y")
                {
                    throw new NService.NSInfoException("Yêu cầu thay đổi mật khẩu của bạn đã được sử dụng, nếu muốn tiếp tục thay đổi mật khẩu. Vui lòng sử dụng chức năng [Quên mật khẩu]!!!");
                }
            }

            args["pwd"] = FnSecurity.GeneratePassword(args["pwd"].ToString());

            //Insert Data
            DBHelper.Instance.Execute("Apps.Manage.Base.Users.rec_ActiveRecoveryUser", args);
            return("1");
        }