public override bool ChangePassword(string username, string oldPwd, string newPwd)
        {
            if (!(ValidateUser(username, oldPwd)))
            {
                return(false);
            }
            ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, newPwd, false);

            OnValidatingPassword(args);
            if (args.Cancel)
            {
                if (args.FailureInformation != null)
                {
                    throw args.FailureInformation;
                }
                else
                {
                    throw new MembershipPasswordException("Change of password canceled due to new password validation failure.");
                }
            }
            using (SqlStatement sql = CreateSqlStatement(MembershipProviderSqlStatement.ChangePassword))
            {
                sql.AssignParameter("Password", EncodePassword(newPwd));
                sql.AssignParameter("UserName", username);
                return(sql.ExecuteNonQuery() == 1);
            }
        }
Beispiel #2
0
 public override void AddUsersToRoles(string[] usernames, string[] rolenames)
 {
     foreach (string rolename in rolenames)
     {
         if (!(RoleExists(rolename)))
         {
             throw new ProviderException(String.Format("Role name \'{0}\' not found.", rolename));
         }
     }
     foreach (string username in usernames)
     {
         if (username.Contains(","))
         {
             throw new ArgumentException("User names cannot contain commas.");
         }
         foreach (string rolename in rolenames)
         {
             if (IsUserInRole(username, rolename))
             {
                 throw new ProviderException(String.Format("User \'{0}\' is already in role \'{1}\'.", username, rolename));
             }
         }
     }
     using (SqlStatement sql = CreateSqlStatement(RoleProviderSqlStatement.AddUserToRole))
         foreach (string username in usernames)
         {
             ForgetUserRoles(username);
             foreach (string rolename in rolenames)
             {
                 sql.AssignParameter("UserName", username);
                 sql.AssignParameter("RoleName", rolename);
                 sql.ExecuteNonQuery();
             }
         }
 }
Beispiel #3
0
 public override void RemoveUsersFromRoles(string[] usernames, string[] rolenames)
 {
     foreach (string rolename in rolenames)
     {
         if (!(RoleExists(rolename)))
         {
             throw new ProviderException(String.Format("Role \'{0}\' not found.", rolename));
         }
     }
     foreach (string username in usernames)
     {
         foreach (string rolename in rolenames)
         {
             if (!(IsUserInRole(username, rolename)))
             {
                 throw new ProviderException(String.Format("User \'{0}\' is not in role \'{1}\'.", username, rolename));
             }
         }
     }
     foreach (string username in usernames)
     {
         ForgetUserRoles(username);
         foreach (string rolename in rolenames)
         {
             using (SqlStatement sql = CreateSqlStatement(RoleProviderSqlStatement.RemoveUserFromRole))
             {
                 sql.AssignParameter("UserName", username);
                 sql.AssignParameter("RoleName", rolename);
                 sql.ExecuteNonQuery();
             }
         }
     }
 }
Beispiel #4
0
 public override void Execute(NinServiceContext context)
 {
     using (var sql = new SqlStatement(Sql, Config.Settings.ConnectionString))
     {
         sql.ExecuteNonQuery();
     }
 }
 public override bool DeleteUser(string username, bool deleteAllRelatedData)
 {
     using (SqlStatement sql = CreateSqlStatement(MembershipProviderSqlStatement.DeleteUser))
     {
         sql.AssignParameter("UserName", username);
         return(sql.ExecuteNonQuery() > 0);
     }
 }
Beispiel #6
0
        public static void Wipe()
        {
            const string sql = "DELETE FROM TaskQueue";

            using (var cmd = new SqlStatement(sql, Config.Settings.ConnectionString))
            {
                cmd.ExecuteNonQuery();
            }
        }
 public override void UpdateUser(MembershipUser user)
 {
     using (SqlStatement sql = CreateSqlStatement(MembershipProviderSqlStatement.UpdateUser))
     {
         sql.AssignParameter("Email", user.Email);
         sql.AssignParameter("UserName", user.UserName);
         sql.ExecuteNonQuery();
     }
 }
Beispiel #8
0
        private static void SaveToErrorQueue(int taskId, Exception caught)
        {
            const string sql =
                "INSERT INTO dbo.TaskQueueError SELECT TaskQueueId, Action, Payload, @exception, Created, GETDATE() FROM dbo.TaskQueue WHERE TaskQueueId = @taskId";

            using (var cmd = new SqlStatement(sql, Config.Settings.ConnectionString))
            {
                cmd.AddParameter("@taskId", taskId);
                cmd.AddParameter("@exception", caught.ToString());
                cmd.ExecuteNonQuery();
            }
        }
 protected override void Flush(LogEntry logEntry)
 {
     using (var sql = new SqlStatement(
                "INSERT INTO SysLog (Created, Priority, Tag, Msg) VALUES (@Created, @Priority, @tag, @msg)",
                Config.Settings.ConnectionString))
     {
         sql.AddParameter("@Created", logEntry.Created);
         sql.AddParameter("@Priority", logEntry.Priority);
         sql.AddParameter("@Tag", logEntry.Tag);
         sql.AddParameter("@Msg", logEntry.Message);
         sql.ExecuteNonQuery();
     }
 }
Beispiel #10
0
        private static void DeleteTask(int taskId)
        {
            const string sql = "DELETE FROM TaskQueue WHERE TaskQueueId=@Id";

            using (var cmd = new SqlStatement(sql, Config.Settings.ConnectionString))
            {
                cmd.AddParameter("@id", taskId);
                var r = cmd.ExecuteNonQuery();
                if (r <= 0)
                {
                    throw new Exception("Failed to remove task with id '" + taskId + "'.");
                }
            }
        }
        public override string ResetPassword(string username, string answer)
        {
            if (!(EnablePasswordReset))
            {
                throw new NotSupportedException("Password reset is not enabled.");
            }
            string newPassword             = Membership.GeneratePassword(this._newPasswordLength, MinRequiredNonAlphanumericCharacters);
            ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, newPassword, false);

            OnValidatingPassword(args);
            if (args.Cancel)
            {
                if (args.FailureInformation != null)
                {
                    throw args.FailureInformation;
                }
                else
                {
                    throw new MembershipPasswordException("Reset password canceled due to password validation failure.");
                }
            }
            string passwordAnswer = String.Empty;

            using (SqlStatement sql = CreateSqlStatement(MembershipProviderSqlStatement.GetPassword))
            {
                sql.AssignParameter("UserName", username);
                if (sql.Read())
                {
                }
                else
                {
                    throw new MembershipPasswordException("User is not found.");
                }
            }
            using (SqlStatement sql = CreateSqlStatement(MembershipProviderSqlStatement.ResetPassword))
            {
                sql.AssignParameter("Password", EncodePassword(newPassword));
                sql.AssignParameter("UserName", username);
                if (sql.ExecuteNonQuery() > 0)
                {
                    return(newPassword);
                }
                else
                {
                    throw new MembershipPasswordException("User is not found or locked out. Password has not been reset.");
                }
            }
        }
Beispiel #12
0
 public override void CreateRole(string rolename)
 {
     if (rolename.Contains(","))
     {
         throw new ArgumentException("Role names cannot contain commas.");
     }
     if (RoleExists(rolename))
     {
         throw new ProviderException("Role already exists.");
     }
     using (SqlStatement sql = CreateSqlStatement(RoleProviderSqlStatement.CreateRole))
     {
         sql.AssignParameter("RoleName", rolename);
         sql.ExecuteNonQuery();
     }
 }
Beispiel #13
0
        public static void Remove(Task task, long elapsedMilliseconds = 0)
        {
            const string sql =
                "INSERT INTO TaskLog (Action, Payload, Created, ElapsedMilliSeconds) VALUES (@action, @payload, @created, @elapsedMilliseconds)";

            using (var cmd = new SqlStatement(sql, Config.Settings.ConnectionString))
            {
                cmd.AddParameter("@action", task.Type());
                cmd.AddParameter("@payload", task.Serialize());
                cmd.AddParameter("@created", task.Created);
                cmd.AddParameter("@elapsedMilliseconds", elapsedMilliseconds);
                cmd.ExecuteNonQuery();
            }

            var taskId = task.Id;

            DeleteTask(taskId);
        }
Beispiel #14
0
        public virtual bool SaveFile(HttpContext context)
        {
            if (context.Request.Files.Count != 1)
            {
                return(false);
            }
            HttpPostedFile file = context.Request.Files[0];

            try
            {
                using (SqlStatement updateBlob = BlobFactory.CreateBlobUpdateStatement())
                    return(updateBlob.ExecuteNonQuery() == 1);
            }
            catch (Exception err)
            {
                Error = err.Message;
                return(false);
            }
        }
Beispiel #15
0
 public virtual bool SaveFile(HttpContext context)
 {
     if (context.Request.Files.Count != 1)
     {
         return(false);
     }
     try
     {
         if ((BlobHandlerInfo.Current != null) && BlobHandlerInfo.Current.ProcessUploadViaBusinessRule())
         {
             return(true);
         }
         using (SqlStatement updateBlob = BlobFactory.CreateBlobUpdateStatement())
             return(updateBlob.ExecuteNonQuery() == 1);
     }
     catch (Exception err)
     {
         Error = err.Message;
         return(false);
     }
 }
        public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
        {
            ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, password, true);

            OnValidatingPassword(args);
            if (args.Cancel)
            {
                status = MembershipCreateStatus.InvalidPassword;
                return(null);
            }
            if (RequiresUniqueEmail && !(String.IsNullOrEmpty(GetUserNameByEmail(email))))
            {
                status = MembershipCreateStatus.DuplicateEmail;
                return(null);
            }
            if (GetUser(username, false) != null)
            {
                status = MembershipCreateStatus.DuplicateUserName;
            }
            else
            {
                DateTime creationDate = DateTime.Now;
                using (SqlStatement sql = CreateSqlStatement(MembershipProviderSqlStatement.CreateUser))
                {
                    sql.AssignParameter("UserName", username);
                    sql.AssignParameter("Password", EncodePassword(password));
                    sql.AssignParameter("Email", email);
                    if (sql.ExecuteNonQuery() > 0)
                    {
                        status = MembershipCreateStatus.Success;
                        return(GetUser(username, false));
                    }
                    else
                    {
                        status = MembershipCreateStatus.UserRejected;
                    }
                }
            }
            return(null);
        }
Beispiel #17
0
 public override bool DeleteRole(string rolename, bool throwOnPopulatedRole)
 {
     if (!(RoleExists(rolename)))
     {
         throw new ProviderException("Role does not exist.");
     }
     if (throwOnPopulatedRole && (GetUsersInRole(rolename).Length > 0))
     {
         throw new ProviderException("Cannot delete a pouplated role.");
     }
     using (SqlStatement sql = CreateSqlStatement(RoleProviderSqlStatement.DeleteRole))
     {
         using (SqlStatement sql2 = CreateSqlStatement(RoleProviderSqlStatement.DeleteRoleUsers))
         {
             sql2.AssignParameter("RoleName", rolename);
             sql2.ExecuteNonQuery();
         }
         sql.AssignParameter("RoleName", rolename);
         sql.ExecuteNonQuery();
     }
     return(true);
 }
Beispiel #18
0
 public override void Execute()
 {
     using (var q = new SqlStatement(sql, Config.Settings.ConnectionString))
         q.ExecuteNonQuery();
     Log.i("DB", "Executed SQL successfully.");
 }