Beispiel #1
0
 public static bool HasTosSigned(UserVerification data)
 {
     return
         (data?.AgreedWithTos != null &&
          data.AgreedWithTos.Value
         );
 }
        protected void onLogin(object sender, EventArgs e)
        {
            bool res = AccountSys.getInstance().onLoginVerification(m_acc.Value, Session);

            if (res)
            {
                try
                {
                    UserVerification verInfo  = (UserVerification)Session[DefCC.KEY_VERIFICATION];
                    LoginResult      loginRes = AccountSys.getInstance().onLogin(verInfo.m_acc.Trim(),
                                                                                 verInfo.m_pwd1);
                    if (loginRes.isSuccess())
                    {
                        string ip = WebManager.Account.Login.getIPAddress();
                        AccountSys.getInstance().onLoginSuccess(Session, loginRes, ip, false);
                        verInfo.clear();
                        Session[DefCC.KEY_VERIFICATION] = null;
                        Response.Redirect(DefCC.ASPX_LOGIN_ENTER);
                    }
                }
                catch (System.Exception ex)
                {
                }
            }
            else
            {
                tdError.InnerText = "验证码错误";
            }
        }
        public async Task <IActionResult> OnPostAsync()
        {
            var isVerificationCodeValid = int.TryParse(this.VerificationCode, out var verificationCode);

            if (!isVerificationCodeValid)
            {
                this.ModelState.AddModelError(string.Empty, "Verification Code Invalid!");
                return(this.Page());
            }

            var userVerification = new UserVerification()
            {
                VerificationCode = verificationCode,
                UserName         = this.User.Identity.Name
            };

            var response = await this._accountUiService.VerifyUserAsync(userVerification).ConfigureAwait(true);

            if (response != null && response.IsValidUser && response.User != null)
            {
                const string scheme    = CookieAuthenticationDefaults.AuthenticationScheme;
                var          loginUser = new ClaimsPrincipal(
                    new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, userVerification.UserName) }, scheme));
                await this.HttpContext.SignInAsync(loginUser).ConfigureAwait(true);

                return(this.RedirectToAction($"Login", $"Account"));
            }

            this.ModelState.AddModelError(string.Empty, "Verification Code Mismatch!");
            return(this.Page());
        }
Beispiel #4
0
        /// <summary>
        /// If the verification code is found, the user email associated with the verification
        /// code will be moved from Unverified to Active. But if the user is Blocked, then
        /// no change will occure. All user verification code will removed after successful activation.
        /// </summary>
        /// <param name="verificationCode">The verification code sent in email</param>
        /// <returns></returns>
        public VerificationStatus VerifyForUserStatus(string verificationCode)
        {
            if (string.IsNullOrEmpty(verificationCode))
            {
                throw new ArgumentException("Verification code is missing");
            }

            try
            {
                UserVerification verification = _unitOfWork.UserVerifications.GetByVerificationCode(verificationCode);
                if (verification == null)
                {
                    return(VerificationStatus.VerificationCodeDoesNotExist);
                }

                User user = _userService.GetUser(verification.UserID);
                if (user != null && user.Status != UserStatus.Blocked)
                {
                    user.Status = UserStatus.Active;
                    _userService.UpdateUserInformation(user);
                    _unitOfWork.UserVerifications.RemoveByUserID(user.ID);
                    _unitOfWork.Commit();
                    return(VerificationStatus.Success);
                }
            }
            catch (Exception ex)
            {
                _logger.Error(ex, "Failed to verify user with verificationCode: {0}", verificationCode);
            }
            return(VerificationStatus.Fail);
        }
Beispiel #5
0
 public static bool HasFilledPersonalData(UserVerification data)
 {
     return
         ((data?.FirstName?.Length ?? 0) > 0 &&
          (data?.LastName?.Length ?? 0) > 0
         );
 }
Beispiel #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            GMUser user = (GMUser)Session["user"];

            if (user != null)
            {
                Response.Redirect(DefCC.ASPX_LOGIN_ENTER);
            }

            // 号被占用
            object obj = Session["occupy"];

            if (obj != null && Convert.ToBoolean(obj) == true)
            {
                Session.Clear();
                // LoginUser.FailureText = "你的账号在别处登录";
            }

            UserVerification verInfo = (UserVerification)Session[DefCC.KEY_VERIFICATION];

            if (verInfo != null)
            {
                verInfo.reset();
            }

            Image1.ImageUrl = "/ashx/ValidatedCode.ashx?r=" + new Random().NextDouble();
        }
Beispiel #7
0
        protected void FormsAuthentication_OnAuthenticate(Object sender, FormsAuthenticationEventArgs e)
        {
            if (FormsAuthentication.CookiesSupported == true)
            {
                if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
                {
                    try
                    {
                        //let us take out the username now
                        string username   = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name;
                        string signInType = "";

                        if (Request.Cookies["UserCookie"] != null)
                        {
                            var cookie = Request.Cookies["UserCookie"];
                            signInType = ClassHashing.basicDecryption(cookie.Values["SignInType"].ToString());
                        }


                        //let us extract the roles from our own custom cookie
                        string roles = UserVerification.GetUserRoles(username, signInType);

                        //Let us set the Pricipal with our user specific details
                        e.User = new System.Security.Principal.GenericPrincipal(
                            new System.Security.Principal.GenericIdentity(username, "Forms"), roles.Split(';'));
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.ToString());
                    }
                }
            }
        }
        public static void Create(UserVerificationDTO userVerificationDTO)
        {
            UserVerification userVerification = MapperTransform <UserVerification, UserVerificationDTO> .ToEntity(userVerificationDTO);

            Database.UserVerifications.Create(userVerification);
            Database.Save();
        }
        public async Task <UserVerification> VerifyUser(string username, string password)
        {
            try
            {
                using (MySqlConnection conn = new MySqlConnection(this.connStringSetting))
                    using (MySqlCommand cmd = conn.CreateCommand())
                    {
                        await conn.OpenAsync();

                        cmd.CommandText = "SELECT * FROM user WHERE username = @username LIMIT 0,1";

                        cmd.Parameters.AddWithValue("@username", username);
                        cmd.Prepare();

                        using (DbDataReader reader = await cmd.ExecuteReaderAsync())
                        {
                            UserVerification verification = new UserVerification();
                            verification.CredentialsAreCorrect = false;
                            if (reader.Read())
                            {
                                string DbPassword = reader.GetString(2);
                                verification.UserID = reader.GetInt32(0);
                                verification.CredentialsAreCorrect = DbPassword == Password.Hash(password);
                                return(verification);
                            }
                            return(verification);
                        }
                    }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Beispiel #10
0
        public async Task <UserServiceResponse> VerifyUserAsync(UserVerification user)
        {
            var result = await UserManagementHttpClient
                         .PostApiCallAsync(this._appSettings.Value.BaseAddress, this._appSettings.Value.UserVerificationAddress, user)
                         .ConfigureAwait(true);

            return(result);
        }
Beispiel #11
0
 public static bool HasKycVerification(UserVerification data)
 {
     return
         (data?.LastKycTicket != null &&
          data.LastKycTicket.TimeResponded != null &&
          data.LastKycTicket.IsVerified
         );
 }
Beispiel #12
0
 public static bool HasProvedResidence(UserVerification data, bool residenceRequried)
 {
     if (residenceRequried)
     {
         return(data?.ProvedResidence ?? false);
     }
     return(true);
 }
        public UserVerification Create()
        {
            UserVerification userVerification = new UserVerification();

            userVerification.ID               = GuidUtility.GetNewSequentialGuid();
            userVerification.CreationTime     = DateTime.UtcNow;
            userVerification.VerificationCode = UserUtility.GetNewVerificationCode();
            return(userVerification);
        }
Beispiel #14
0
        public bool RemoveLinkForResetPassword(int userid)
        {
            VerificationService = new UserVerificationService(DealDb);
            UserVerification RemoveLink = DealDb.UserVerifications.Where(x => x.Userid.Equals(userid) && x.Purpose.Equals("ResetPass")).SingleOrDefault();

            VerificationService.Delete(RemoveLink);
            VerificationService.Dispose();
            return(true);
        }
        public static void Update(UserVerificationDTO userVerificationDTO)
        {
            UserVerification userVerification = Database.UserVerifications.Get(userVerificationDTO.Id);

            userVerification.Email       = userVerificationDTO.Email;
            userVerification.PhoneNumber = userVerificationDTO.PhoneNumber;
            Database.UserVerifications.Update(userVerification);
            Database.Save();
        }
 public UserVerificationViewModel(UserVerification verification)
 {
     if (verification != null)
     {
         User                = new UserViewModel(verification.User);
         Document            = new FileViewModel(verification.Document);
         Selfie              = new FileViewModel(verification.Selfie);
         VerificationRequest = new UserVerificationRequestViewModel(verification.VerificationRequest);
     }
 }
Beispiel #17
0
        protected void onReturn(object sender, EventArgs e)
        {
            UserVerification verInfo = (UserVerification)Session[DefCC.KEY_VERIFICATION];

            if (verInfo != null)
            {
                verInfo.loginHasFinishStep = 0;
            }
            Response.Redirect(DefCC.ASPX_LOGIN_STEP1);
        }
        public async Task <IActionResult> Login(string username, string password)
        {
            UserVerification userVerification = await _userRepository.VerifyUser(username, password);

            if (userVerification != null && userVerification.CredentialsAreCorrect)
            {
                Response.Cookies.Append("UserID", userVerification.UserID.ToString());
                return(RedirectToAction("Index", "Chat"));
            }
            return(View());
        }
 protected void Login_Authenticate(object sender, AuthenticateEventArgs e)
 {
     if (UserVerification.VerifyUser(LoginControl.UserName, LoginControl.Password))
     {
         Response.Redirect("MyGallery.aspx");
     }
     else
     {
         e.Authenticated = false;
     }
 }
Beispiel #20
0
        public UserVerification UserLogin(string UserName, string Password)
        {
            UserVerification user = null;

            if (db.OpenConnection())
            {
                MySqlCommand cmd = new MySqlCommand("SELECT UserName,Password,Role from tbluser WHERE UserName = @UserName", db.conn);
                cmd.Parameters.AddWithValue("UserName", UserName);
                cmd.Parameters.AddWithValue("Password", Password);
                try
                {
                    MySqlDataReader datareader = cmd.ExecuteReader();
                    while (datareader.Read())
                    {
                        user = new UserVerification
                        {
                            UserName = datareader["UserName"].ToString(),
                            Password = datareader["Password"].ToString(),
                            Role     = datareader["Role"].ToString()
                        };
                    }
                }
                catch (MySqlException ex)
                {
                    throw new Exception(ex.Message);
                }
                catch (Exception em)
                {
                    throw new Exception(em.Message);
                }
                if (user == null)
                {
                    db.CloseConnection();
                    throw new Exception("Invalid username");
                }
                if (ClassHashing.VerifyMd5Hash(Password, user.Password))
                {
                    db.CloseConnection();
                    return(user);
                }
                else
                {
                    db.CloseConnection();
                    throw new Exception("Invalid username or password");
                }
            }
            else
            {
                return(user);
            }
        }
    public static void checkLogin(HttpSessionState session, HttpResponse response, int step)
    {
        UserVerification verInfo = (UserVerification)session[DefCC.KEY_VERIFICATION];

        if (verInfo == null)
        {
            response.Redirect(DefCC.ASPX_LOGIN_STEP1);
        }

        if (step - verInfo.loginHasFinishStep != 1)
        {
            response.Redirect(DefCC.ASPX_LOGIN_STEP1);
        }
    }
        public async Task<IActionResult> VerifyUser(UserVerification user)
        {
            if (!this.ModelState.IsValid)
            {
                return this.BadRequest();
            }

            var response = await this._accountApiService.VerifyUserAsync(user).ConfigureAwait(true);

            if (response.IsValidUser)
                return this.Ok(response);

            return this.BadRequest();
        }
Beispiel #23
0
        internal Boolean CheckCode(String email, String code)
        {
            UserVerification uv = _userVerificationRepository.GetByEmail(email);

            if (uv.Code == code)
            {
                uv.Verified = true;
                _userVerificationRepository.Update(uv);
                return(true);
            }
            else
            {
                return(false);
            }
        }
 public UserVerification Add(UserVerification UserVerification)
 {
     try
     {
         using (var context = new dezbateriEntities())
         {
             UserVerification comm = context.UserVerifications.Add(UserVerification);
             context.SaveChanges();
             return(comm);
         }
     }
     catch (Exception ex)
     {
         throw new UserVerificationException("Add", ex);
     }
 }
        public void ProcessRequest(HttpContext context)
        {
            UserVerification ver = (UserVerification)context.Session[DefCC.KEY_VERIFICATION];

            if (ver == null)
            {
                //LOGW.Info("生成验证码时没有找到key:{0}", DefCC.KEY_VERIFICATION);
                ver = new UserVerification();
                context.Session[DefCC.KEY_VERIFICATION] = ver;
                //return;
            }

            ValidatedCodeGenerator gen = new ValidatedCodeGenerator();

            ver.m_validatedCode = gen.CreateVerifyCode(6);
            gen.CreateImageOnPage(ver.m_validatedCode, context);
        }
        public void SendVerificationCodesAsync(UserVerification userVerification)
        {
            if (userVerification == null)
            {
                throw new ArgumentNullException("userVerification");
            }

            ViewData.Model = userVerification;
            var mailMessage = Populate(x =>
            {
                x.Subject  = Emails.RegistrationConfirmation;
                x.ViewName = "RegistrationConfirmation";
                x.To.Add(userVerification.User.Email);
            });

            Task.Factory.StartNew(() => mailMessage.Send());
        }
Beispiel #27
0
        internal void CheckIfActivated(string type, string id)
        {
            UserVerification uv = new UserVerification();

            if (type == "email")
            {
                uv = _userVerificationRepository.GetByEmail(id);
            }
            else
            {
                User user = _userRepository.GetByUsername(id);
                uv = _userVerificationRepository.GetByEmail(user.Email);
            }
            if (!uv.Verified)
            {
                throw new Exception("133");
            }
        }
Beispiel #28
0
        private void CheckPasswordFromServer()
        {
            try
            {
                UserVerification verification = new UserVerification();

                byte[] tempBuff = Encoding.UTF8.GetBytes(string.Format("CHECKPASS%{0}%{1}%{2}",
                                                                       FrmMain.me.Id,
                                                                       verification.GetSHA256(txtOldPassword.Text),
                                                                       verification.GetSHA256(txtNewPassword.Text)));
                SmallPackage smallPackage = new SmallPackage(0, 1024, "M", tempBuff, "Server");
                FrmMain.server.GetStream().WriteAsync(smallPackage.Packing(), 0, smallPackage.Packing().Length);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Please check the connection again or the server could not be found!", "Error Connected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Beispiel #29
0
        private static bool IsUserVerificationValid(UserVerification userVerification)
        {
            if (userVerification.ExpiryDate < DateTime.Now)
            {
                throw new InvalidTokenException(InvalidTokenType.TokenExpired, "Token has expired");
            }

            if (userVerification.UsedOn != null || userVerification.UsedByAddress != null)
            {
                throw new InvalidTokenException(InvalidTokenType.TokenUsed, "Token has been used");
            }

            if (userVerification.Active != null && !(bool)userVerification.Active)
            {
                throw new InvalidTokenException(InvalidTokenType.TokenInactive, "Token is no longer active");
            }

            return(true);
        }
Beispiel #30
0
        public User CreateUser(User user)
        {
            if (user == null)
            {
                throw new ArgumentException("User is missing");
            }
            if (string.IsNullOrEmpty(user.EmailAddress))
            {
                throw new ArgumentException("EmailAddress address is missing");
            }
            if (!_regexUtility.IsEmailValid(user.EmailAddress))
            {
                throw new ArgumentException("EmailAddress address is invalid");
            }
            if (string.IsNullOrEmpty(user.UserName))
            {
                throw new ArgumentException("UserName is missing");
            }
            if (string.IsNullOrEmpty(user.EncryptedPassword))
            {
                throw new ArgumentException("Password is missing");
            }

            try
            {
                if (user.Status == UserStatus.Unverified)
                {
                    UserVerification userVerification = _userVerificationFactory.Create();
                    user.UserVerifications = new List <UserVerification>();
                    user.UserVerifications.Add(userVerification);
                }
                _unitOfWork.Users.Add(user);
                _unitOfWork.Commit();
                return(user);
            }
            catch (Exception ex)
            {
                _logger.Error(ex, "Failed to create user with parameters: UserName={0}, EmailAddress={1}, TypeOfUser={2}", user.UserName, user.EmailAddress, user.TypeOfUser);
                return(null);
            }
        }