Exemple #1
0
        public string SaveUser(UserInfo model)
        {
            if (string.IsNullOrWhiteSpace(model.UserName) || string.IsNullOrWhiteSpace(model.Password))
            {
                return(MessageContent.Submit_Params_InvalidError);
            }
            if (model.Password != model.CfmPsw)
            {
                return(MessageContent.Request_InvalidCompareToPassword);
            }
            model.UserName = model.UserName.Trim();
            model.Password = model.Password.Trim();
            if (string.IsNullOrWhiteSpace(model.Email))
            {
                model.Email = model.UserName + "tygaweb.com";
            }

            try
            {
                model.RoleName = model.RoleName.Trim().Trim(',');
                string[] roles = null;
                if (!string.IsNullOrEmpty(model.RoleName))
                {
                    roles = model.RoleName.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                }

                MembershipCreateStatus status;
                MembershipUser         user;

                using (TransactionScope scope = new TransactionScope())
                {
                    user = Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, model.IsApproved, out status);
                    if (roles != null && roles.Length > 0)
                    {
                        Roles.AddUserToRoles(model.UserName, roles);
                    }

                    scope.Complete();
                }

                if (user == null)
                {
                    return(EnumMembershipCreateStatus.GetStatusMessage(status));
                }

                return("1");
            }
            catch (MembershipCreateUserException ex)
            {
                return(EnumMembershipCreateStatus.GetStatusMessage(ex.StatusCode));
            }
            catch (HttpException ex)
            {
                return(ex.Message);
            }
        }
Exemple #2
0
        /// <summary>
        /// 保存数据
        /// </summary>
        private void OnSave()
        {
            string userName = txtUsername.Value.Trim();
            string psw      = txtPswset.Value.Trim();
            string email    = txtEmail.Value.Trim();

            if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(psw) || string.IsNullOrEmpty(email))
            {
                WebHelper.MessageBox.Messager(this.Page, lbtnSave, "用户名、密码、邮箱为必填项", "操作错误", "error");
                return;
            }
            if (string.Compare(Request.Cookies["AddUserVc"].Value.ToLower(), txtVc.Value.Trim().ToLower(), true) != 0)
            {
                WebHelper.MessageBox.Messager(this.Page, lbtnSave, "输入验证码不正确!", "操作错误", "error");
                return;
            }

            string errorMsg = string.Empty;

            try
            {
                MembershipUser user = Membership.CreateUser(userName, psw, email);

                if (user != null)
                {
                    Roles.AddUserToRole(user.UserName, "Users");

                    //系统自动分配该用户的棋子数
                    Model.UserPoint uModel = new Model.UserPoint();
                    uModel.UserID          = user.ProviderUserKey;
                    uModel.PointNum        = WebHelper.Common.POINTNUM;
                    uModel.LastUpdatedDate = DateTime.Now;
                    ThreadHelper.UserPoint uThread = new ThreadHelper.UserPoint(uModel);
                    uThread.ThreadStart();

                    WebHelper.MessageBox.MessagerShow(this.Page, lbtnSave, EnumMembershipCreateStatus.GetStatusMessage(MembershipCreateStatus.Success));
                }
            }
            catch (MembershipCreateUserException ex)
            {
                errorMsg = EnumMembershipCreateStatus.GetStatusMessage(ex.StatusCode);
            }
            catch (HttpException ex)
            {
                errorMsg = ex.Message;
            }
            if (!string.IsNullOrEmpty(errorMsg))
            {
                WebHelper.MessageBox.Messager(this.Page, lbtnSave, errorMsg, "系统提示");
                return;
            }
        }
Exemple #3
0
        /// <summary>
        /// 保存数据
        /// </summary>
        private void OnSave()
        {
            string userName = txtUsername.Value.Trim();
            string psw      = txtPswset.Value.Trim();
            string email    = txtEmail.Value.Trim();

            if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(psw) || string.IsNullOrEmpty(email))
            {
                WebHelper.MessageBox.Messager(this.Page, lbtnSave, "用户名、密码、邮箱为必填项", "操作错误", "error");
                return;
            }
            if (string.Compare(Request.Cookies["AddUserVc"].Value.ToLower(), txtVc.Value.Trim().ToLower(), true) != 0)
            {
                WebHelper.MessageBox.Messager(this.Page, lbtnSave, "输入验证码不正确!", "操作错误", "error");
                return;
            }

            string errorMsg = string.Empty;

            try
            {
                MembershipUser user = Membership.CreateUser(userName, psw, email);

                if (user != null)
                {
                    Roles.AddUserToRole(user.UserName, "Users");
                    WebHelper.MessageBox.Messager(this.Page, lbtnSave, EnumMembershipCreateStatus.GetStatusMessage(MembershipCreateStatus.Success), "系统提示");
                }
            }
            catch (MembershipCreateUserException ex)
            {
                errorMsg = EnumMembershipCreateStatus.GetStatusMessage(ex.StatusCode);
            }
            catch (HttpException ex)
            {
                errorMsg = ex.Message;
            }
            if (!string.IsNullOrEmpty(errorMsg))
            {
                WebHelper.MessageBox.Messager(this.Page, lbtnSave, errorMsg, "系统提示");
                return;
            }
        }
Exemple #4
0
        //[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
        public string SaveUser(string username, string password, string email, bool isApproved)
        {
            try
            {
                //if (!HttpContext.Current.User.IsInRole("Administrators")) throw new ArgumentException(MC.Role_InvalidError);

                if (string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(password))
                {
                    return(ResponseResult.Response(false, MC.Submit_Params_InvalidError, ""));
                }

                MembershipCreateStatus status;
                MembershipUser         user;

                user = Membership.CreateUser(username, password, email, null, null, isApproved, out status);

                //using (TransactionScope scope = new TransactionScope())
                //{
                //    user = Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, model.IsApproved, out status);
                //    if (roles != null && roles.Length > 0)
                //    {
                //        Roles.AddUserToRoles(model.UserName, roles);
                //    }

                //    scope.Complete();
                //}

                if (user == null)
                {
                    return(ResponseResult.Response(false, EnumMembershipCreateStatus.GetStatusMessage(status), null));
                }

                return(ResponseResult.Response(true, MC.Response_Ok, null));
            }
            catch (MembershipCreateUserException ex)
            {
                return(ResponseResult.Response(false, EnumMembershipCreateStatus.GetStatusMessage(ex.StatusCode), null));
            }
            catch (HttpException ex)
            {
                return(ResponseResult.Response(false, "" + MC.AlertTitle_Ex_Error + ":" + ex.Message, null));
            }
        }
Exemple #5
0
        private void OnSave()
        {
            string userName = txtUserName.Value.Trim();
            string password = txtPsw.Value.Trim();
            string email    = txtEmail.Value.Trim();
            string sVc      = txtVc.Value.Trim();

            if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(email))
            {
                WebHelper.MessageBox.Messager(this.Page, lbtnPostBack, "用户名、密码、邮箱为必填项", "操作错误", "error");
                return;
            }

            Regex r = new Regex(@"(([0-9]+)|([a-zA-Z]+)){6,30}");

            if (!r.IsMatch(password))
            {
                WebHelper.MessageBox.Messager(this.Page, lbtnPostBack, "密码正确格式由数字或字母组成的字符串,且最小6位,最大30位", "操作错误", "error");
                return;
            }
            r = new Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
            if (!r.IsMatch(email))
            {
                WebHelper.MessageBox.Messager(this.Page, lbtnPostBack, "请输入正确的电子邮箱格式", "操作错误", "error");
                return;
            }

            if (string.IsNullOrEmpty(sVc))
            {
                WebHelper.MessageBox.Messager(this.Page, lbtnPostBack, "验证码输入不能为空!", "操作错误", "error");
                return;
            }

            if (sVc.ToLower() != Request.Cookies["RegisterVc"].Value.ToLower())
            {
                WebHelper.MessageBox.Messager(this.Page, lbtnPostBack, "验证码输入不正确,请检查!", "操作错误", "error");
                return;
            }

            string errorMsg = string.Empty;

            try
            {
                MembershipUser user = Membership.CreateUser(userName, password, email);

                if (user != null)
                {
                    Roles.AddUserToRole(user.UserName, "Users");
                    WebHelper.MessageBox.Show(this.Page, lbtnPostBack, string.Format("{0}即将跳转到登录页,请先登录", EnumMembershipCreateStatus.GetStatusMessage(MembershipCreateStatus.Success)), "Login.aspx");
                }
            }
            catch (MembershipCreateUserException ex)
            {
                errorMsg = EnumMembershipCreateStatus.GetStatusMessage(ex.StatusCode);
            }
            catch (HttpException ex)
            {
                errorMsg = ex.Message;
            }
            if (!string.IsNullOrEmpty(errorMsg))
            {
                WebHelper.MessageBox.Messager(this.Page, lbtnPostBack, errorMsg, "系统提示");
                return;
            }
        }
Exemple #6
0
        private void OnLogin()
        {
            var fromLoginUrl = string.Empty;

            try
            {
                string userName = Request.Form["txtUserName"];
                string psw      = Request.Form["txtPsw"];
                string sVc      = Request.Form["txtVc"];

                if (string.IsNullOrWhiteSpace(userName) || string.IsNullOrWhiteSpace(psw))
                {
                    throw new ArgumentException(MC.Login_InvalidAccount);
                }

                if (string.IsNullOrWhiteSpace(sVc))
                {
                    throw new ArgumentException(MC.Login_InvalidVC);
                }

                bool isRemember = Request.Form["cbRememberMe"] == "1" ? true : false;

                userName = userName.Trim();
                psw      = psw.Trim();
                sVc      = sVc.Trim();

                var cookie = Request.Cookies["Asset_LoginVc"];
                if (cookie == null || string.IsNullOrWhiteSpace(cookie.Value))
                {
                    throw new ArgumentException(MC.Login_InvalidVCCookie);
                }
                string validCode = cookie.Value;

                AESEncrypt aes = new AESEncrypt();

                if (sVc.ToLower() != aes.DecryptString(validCode).ToLower())
                {
                    throw new ArgumentException(MC.Login_InvalidVC);
                }
                if (!Regex.IsMatch(psw, Membership.PasswordStrengthRegularExpression))
                {
                    throw new ArgumentException(MC.Request_InvalidPassword);
                }

                #region 使用wcf身份认证服务

                //AuthenticationServiceClient authService = new AuthenticationServiceClient();
                //if (!authService.Login(userName, psw, "", true))
                //{
                //    throw new ArgumentException(MC.Login_InvalidUserNameAndPsw);
                //}

                #endregion

                #region  使用wcf身份认证服务

                string userData = string.Empty;

                MembershipUser userInfo = Membership.GetUser(userName);
                if (!Membership.ValidateUser(userName, psw))
                {
                    if (userInfo == null)
                    {
                        throw new ArgumentException(EnumMembershipCreateStatus.GetStatusMessage(MembershipCreateStatus.InvalidUserName));
                    }
                    if (userInfo.IsLockedOut)
                    {
                        throw new ArgumentException(MC.Login_AccountLock);
                    }
                    if (!userInfo.IsApproved)
                    {
                        throw new ArgumentException(MC.Login_AccountAllow);
                    }
                    else
                    {
                        throw new ArgumentException(MC.Login_InvalidPsw);
                    }
                }

                userData = userInfo.ProviderUserKey.ToString();

                FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, userName, DateTime.Now, DateTime.Now.Add(FormsAuthentication.Timeout),
                                                                                 true, userData, FormsAuthentication.FormsCookiePath);
                string encTicket = FormsAuthentication.Encrypt(ticket);
                Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));

                //登录成功,则

                //bool isPersistent = true;
                //bool isRemember = true;
                //bool isAuto = false;
                //double d = 100;
                //if (cbRememberMe.Checked) isAuto = true;
                //自动登录 设置时间为7天
                //if (isAuto) d = 10080;

                #endregion

                if (isRemember)
                {
                    var loginInfo = new LoginInfo(userName, DateTime.Now);
                    var sUserInfo = aes.EncryptString(JsonConvert.SerializeObject(loginInfo));
                    Response.Cookies.Add(new HttpCookie("Asset_UserInfo", sUserInfo));
                }
                else
                {
                    Response.Cookies.Add(new HttpCookie("Asset_UserInfo", ""));
                }

                fromLoginUrl = FormsAuthentication.GetRedirectUrl(userName, true);
            }
            catch (Exception ex)
            {
                MessageBox.Messager(this.Page, Page.Controls[0], ex.Message, MC.AlertTitle_Sys_Info);
                return;
            }

            if (!string.IsNullOrEmpty(fromLoginUrl))
            {
                Response.Redirect(fromLoginUrl);
            }

            //FormsAuthentication.RedirectFromLoginPage(userName, true);//使用此行会清空ticket中的userData ?!!!
        }
Exemple #7
0
        public ResResultModel SaveUser(UserModel model)
        {
            try
            {
                if (!HttpContext.Current.User.IsInRole("Administrators"))
                {
                    throw new ArgumentException(MC.Role_InvalidError);
                }

                if (string.IsNullOrWhiteSpace(model.UserName) || string.IsNullOrWhiteSpace(model.Password))
                {
                    return(ResResult.Response(false, MC.Request_Params_InvalidError, ""));
                }
                if (model.Password != model.CfmPsw)
                {
                    return(ResResult.Response(false, MC.Request_InvalidCompareToPassword, ""));
                }
                model.UserName = model.UserName.Trim();
                model.Password = model.Password.Trim();
                if (!Regex.IsMatch(model.Password, Membership.PasswordStrengthRegularExpression))
                {
                    return(ResResult.Response(false, MC.Login_InvalidPassword, ""));
                }
                if (string.IsNullOrWhiteSpace(model.Email))
                {
                    model.Email = model.UserName + "@tygaweb.com";
                }

                model.RoleName = model.RoleName.Trim().Trim(',');
                string[] roles = null;
                if (!string.IsNullOrEmpty(model.RoleName))
                {
                    roles = model.RoleName.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                }

                MembershipCreateStatus status;
                MembershipUser         user;

                user = Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, model.IsApproved, out status);
                if (roles != null && roles.Length > 0)
                {
                    Roles.AddUserToRoles(model.UserName, roles);
                }

                //using (TransactionScope scope = new TransactionScope())
                //{
                //    user = Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, model.IsApproved, out status);
                //    if (roles != null && roles.Length > 0)
                //    {
                //        Roles.AddUserToRoles(model.UserName, roles);
                //    }

                //    scope.Complete();
                //}

                if (user == null)
                {
                    return(ResResult.Response(false, EnumMembershipCreateStatus.GetStatusMessage(status), ""));
                }

                return(ResResult.Response(true, "调用成功", ""));
            }
            catch (MembershipCreateUserException ex)
            {
                return(ResResult.Response(false, EnumMembershipCreateStatus.GetStatusMessage(ex.StatusCode), ""));
            }
            catch (Exception ex)
            {
                return(ResResult.Response(false, ex.Message, ""));
            }
        }