Пример #1
0
        public HttpResponseMessage GetValidateCode(string sid)
        {
            string code = RandomStringGenerator.CreateRandomNumeric(5);
            var    resp = new HttpResponseMessage();

            try
            {
                if (string.IsNullOrEmpty(sid) || sid.Length < 32)
                {
                    resp.StatusCode = HttpStatusCode.BadRequest;
                }
                else
                {
                    CacheProvider.Set("vcode." + sid, code, TimeSpan.FromMinutes(10));
                    byte[] buffer = ValidateCodeGenerator.CreateImage(code);
                    resp.Content = new ByteArrayContent(buffer);
                    resp.Content.Headers.ContentType = new MediaTypeHeaderValue("image/png");
                }
            }
            catch
            {
                resp.StatusCode = HttpStatusCode.InternalServerError;
            }

            return(resp);
        }
Пример #2
0
        public ActionResult VerifyCode()
        {
            string code = RandomStringGenerator.CreateRandomNumeric(5);

            byte[] buffer = ValidateCodeGenerator.CreateImage(code);
            Session["vcode"] = code;

            return(File(buffer, "image/png"));
        }
Пример #3
0
        public ValidateCodeGenerator CreateValidateCode()
        {
            var    num        = 0;
            string randomText = SelectRandomNumber(5, out num);

            Session["ValidateCode"] = num;
            ValidateCodeGenerator vlimg = new ValidateCodeGenerator()
            {
                BackGroundColor = Color.FromKnownColor(KnownColor.LightGray),
                RandomWord      = randomText,
                ImageHeight     = 25,
                ImageWidth      = 100,
                fontSize        = 14,
            };

            return(vlimg);
        }
Пример #4
0
        public UserPhone RegisterByPhoneNumber(string phoneNumber, string password)
        {
            var userId = Guid.NewGuid().ToString("N");
            var user   = new User()
            {
                Id              = userId,
                Province        = string.Empty,
                Birthday        = string.Empty,
                City            = string.Empty,
                Country         = string.Empty,
                Distinct        = string.Empty,
                Name            = phoneNumber,
                NickName        = phoneNumber,
                Gender          = GenderType.Unkonw,
                IsConfirmed     = false,
                Grade           = GradeType.Crystal,
                IsLocked        = false,
                IsLunarBirthday = false,
                LockedTime      = null,
                UserName        = phoneNumber,
                Password        = Cryptor.EncryptMD5(password),
                Roles           = string.Empty,
            };
            var userPhone = new UserPhone()
            {
                ValidateTime = DateTime.UtcNow,
                UserID       = userId,
                PhoneNumber  = phoneNumber,
                Type         = PhoneType.MobilePhone,
                IsConfirmed  = false,
                ValidateCode = ValidateCodeGenerator.CreateRandomCode(6),
            };


            db.Entity <User>().Insert(user);
            db.Entity <UserPhone>().Insert(userPhone);

            return(userPhone);
        }
Пример #5
0
        public virtual UserEmail RegisterByEmail(string email, string password)
        {
            var userId = Guid.NewGuid().ToString("N");
            var user   = new User()
            {
                Id              = userId,
                Province        = string.Empty,
                Birthday        = string.Empty,
                City            = string.Empty,
                Country         = string.Empty,
                Distinct        = string.Empty,
                Name            = email,
                NickName        = email,
                Gender          = GenderType.Unkonw,
                IsConfirmed     = false,
                Grade           = GradeType.Crystal,
                IsLocked        = false,
                IsLunarBirthday = false,
                LockedTime      = null,
                UserName        = email,
                Password        = Cryptor.EncryptMD5(password),
                Roles           = string.Empty,
            };
            var userEmail = new UserEmail()
            {
                ValidateTime = DateTime.UtcNow,
                UserID       = userId,
                Email        = email,
                IsConfirmed  = false,
                ValidateCode = ValidateCodeGenerator.CreateRandomCode(6),
            };

            db.Entity <User>().Insert(user);
            db.Entity <UserEmail>().Insert(userEmail);

            return(userEmail);
        }
Пример #6
0
        private Result <UserProfile> MobileLogin(string phoneNumber, string password, string code)
        {
            var  userPhone = db.Entity <UserPhone>().Query().Where(m => m.PhoneNumber == phoneNumber).FirstOrDefault();
            User user;

            if (userPhone == null)
            {
                var userId = Guid.NewGuid().ToString("N");
                user = new User()
                {
                    Id              = userId,
                    Province        = string.Empty,
                    Birthday        = string.Empty,
                    City            = string.Empty,
                    Country         = string.Empty,
                    Distinct        = string.Empty,
                    Name            = phoneNumber,
                    NickName        = phoneNumber,
                    Gender          = GenderType.Unkonw,
                    IsConfirmed     = false,
                    Grade           = GradeType.Crystal,
                    IsLocked        = false,
                    IsLunarBirthday = false,
                    LockedTime      = null,
                    UserName        = phoneNumber,
                    Password        = Cryptor.EncryptMD5(password),
                    Roles           = string.Empty,
                };
                userPhone = new UserPhone()
                {
                    ValidateTime = DateTime.UtcNow,
                    UserID       = userId,
                    PhoneNumber  = phoneNumber,
                    Type         = PhoneType.MobilePhone,
                    IsConfirmed  = false,
                    ValidateCode = ValidateCodeGenerator.CreateRandomCode(6),
                };


                db.Entity <User>().Insert(user);
                db.Entity <UserPhone>().Insert(userPhone);

                return(Result <UserProfile> .Success(new UserProfile()
                {
                    Id = user.Id,
                    Language = user.Language,
                    Birthday = user.Birthday,
                    City = user.City,
                    Country = user.Country,
                    Distinct = user.Distinct,
                    Gender = user.Gender,
                    IsConfirmed = user.IsConfirmed,
                    IsLocked = user.IsLocked,
                    IsLunarBirthday = user.IsLunarBirthday,
                    LockedTime = user.LockedTime,
                    Name = user.Name,
                    NickName = user.NickName,
                    Province = user.Province,
                    UserName = user.UserName,
                    Roles = user.Roles.Split(';', ',', '|'),
                }));
            }
            user = db.Entity <User>().Query().Where(m => m.Id == userPhone.UserID && !m.IsLocked).FirstOrDefault();
            if (user == null)
            {
                return(Result <UserProfile> .Fail(ResultCode.Error));
            }
            if (Cryptor.EncryptMD5(password) == user.Password)
            {
                return(Result <UserProfile> .Success(new UserProfile()
                {
                    Id = user.Id,
                    Language = user.Language,
                    Birthday = user.Birthday,
                    City = user.City,
                    Country = user.Country,
                    Distinct = user.Distinct,
                    Gender = user.Gender,
                    IsConfirmed = user.IsConfirmed,
                    IsLocked = user.IsLocked,
                    IsLunarBirthday = user.IsLunarBirthday,
                    LockedTime = user.LockedTime,
                    Name = user.Name,
                    NickName = user.NickName,
                    Province = user.Province,
                    UserName = user.UserName,
                    Roles = user.Roles.Split(';', ',', '|'),
                }));
            }
            return(Result <UserProfile> .Fail(ResultCode.Error));
        }