예제 #1
0
        // Inherited from MembershipProvider ==> Forwarded to previous provider if this provider hasn't been initialized
        public override bool ValidateUser(string username, string password)
        {
            if (!InitializeCalled)
            {
                return(PreviousProvider.ValidateUser(username, password));
            }
            if (username.IsEmpty())
            {
                throw new ArgumentException(CommonResources.Argument_Cannot_Be_Null_Or_Empty, "username");
            }
            if (password.IsEmpty())
            {
                throw new ArgumentException(CommonResources.Argument_Cannot_Be_Null_Or_Empty, "password");
            }

            using (var db = ConnectToDatabase())
            {
                int userId = VerifyUserNameHasConfirmedAccount(db, username, throwException: false);
                if (userId == -1)
                {
                    return(false);
                }
                else
                {
                    return(CheckPassword(db, userId, password));
                }
            }
        }
        // Inherited from MembershipProvider ==> Forwarded to previous provider if this provider hasn't been initialized
        public override bool ValidateUser(string username, string password)
        {
            if (!InitializeCalled)
            {
                return(PreviousProvider.ValidateUser(username, password));
            }
            if (username.IsEmpty())
            {
                throw ExceptionHelper.CreateArgumentNullOrEmptyException("username");
            }
            if (password.IsEmpty())
            {
                throw ExceptionHelper.CreateArgumentNullOrEmptyException("password");
            }

            using (var db = ConnectToDatabase()) {
                int userId = VerifyUserNameHasConfirmedAccount(db, username, throwException: false);
                if (userId == -1)
                {
                    return(false);
                }
                else
                {
                    return(CheckPassword(db, userId, password));
                }
            }
        }
예제 #3
0
        //internal void ValidateUserTable()
        //{
        //    using (var session = new MongoSession(_connectionString))
        //    {
        //        // GetUser will fail with an exception if the user table isn't set up properly
        //        try
        //        {
        //            GetUserId(db, SafeUserTableName, SafeUserNameColumn, SafeUserIdColumn, "z");
        //        }
        //        catch (Exception e)
        //        {
        //            throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, WebDataResources.Security_FailedToFindUserTable, UserTableName), e);
        //        }
        //    }
        //}

        // Inherited from MembershipProvider ==> Forwarded to previous provider if this provider hasn't been initialized
        public override bool ValidateUser(string username, string password)
        {
            if (!InitializeCalled)
            {
                return(PreviousProvider.ValidateUser(username, password));
            }
            if (string.IsNullOrEmpty(username))
            {
                throw new ArgumentException("Argument_Cannot_Be_Null_Or_Empty", "username");
            }
            if (string.IsNullOrEmpty(password))
            {
                throw new ArgumentException("Argument_Cannot_Be_Null_Or_Empty", "password");
            }
            using (var session = new MongoSession(_connectionString))
            {
                var user = VerifyUserNameHasConfirmedAccount(session, username, throwException: false);
                if (user == null)
                {
                    return(false);
                }
                else
                {
                    var result = CheckPassword(session, user.UserId, password);
                    try
                    {
                        if (result)
                        {
                            user.LastLoginDate = DateTime.Now;
                        }
                        else
                        {
                            user.LastPasswordFailureDate = DateTime.Now;
                        }

                        session.Update(user);
                    }
                    catch (Exception ex) { }
                    return(result);
                }
            }
        }