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"); }
//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); }
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); }
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"); }