Cowmouflage Ответов: 1

Как проверить имя пользователя и пароль с помощью текстового файла


Здравствуйте, я пытаюсь проверить имя пользователя банкомата и НПВ от .Текстовый файл на моем диске. Я действительно не знаю, как это сделать, так что если у кого-нибудь из вас есть какие-нибудь советы, которые могли бы мне помочь, это было бы здорово

Что я уже пробовал:

***Страница входа****

public partial class MainWindow : Window
    {
        public static GestionnaireGuichet guichet = new GestionnaireGuichet();

        public MainWindow()
        {
            InitializeComponent();
        }

        int count = 0;
        private void button_Click(object sender, RoutedEventArgs e)
        {
            
            if (count == 3)
            {
                this.Close();
            }
            if ((string.IsNullOrEmpty(user.Text)) || (string.IsNullOrEmpty(pass.Password)))
            {
                MessageBox.Show("Provide a valide username and password");
            }
            if ((user.Text.Length > 0) || (pass.Password.Length > 0))
            

            { 
                OperationCompte operation = new OperationCompte();
                this.Close();
                operation.Show();

            }
            else
                count++;
        
        }


***Использование этого для проверки***

public bool ValidatePassword(string username, string password)
        {
            string[] strArray = System.IO.File.ReadAllLines(@"D:\Project\Guichet\Guichet\bin\Debug\client.txt");

            if (username != strArray[0]) return false; //Wrong username

            if (password != strArray[1]) return false; //Wrong password

            if (username == strArray[0] && password == strArray[1]) return true; //good validation




            else
                return false;

        }


***Я использую это для чтения текстового файла***

public bool LireClient()
       {
           string[] strArray;
           StreamReader sr = new StreamReader("client.txt");
           string strLine = sr.ReadLine();
           while (strLine != null)
           {
               strArray = strLine.Split(',');
               client.Add(new Client(strArray[0], strArray[1]));
               strLine = sr.ReadLine();
           }
           sr.Close();
           return true;

       }

an0ther1

Ну, помимо очевидного - вы не должны хранить имя пользователя и пароль в текстовом файле - основной процесс должен идти следующим образом;
а) захват имени пользователя и пароля & нажмите событие
б) счетчик приращений
c) передайте эти значения вашему методу аутентификации
г) проверить предоставленные сведения
e) хранить сведения о пользователе - при необходимости
f) возвращает значение, указывающее на успех или неудачу
g) если не удалось, проверьте, были ли исчерпаны попытки входа в систему - выходите, если да, если нет, покажите соответствующее сообщение
Неотложные проблемы;
Обработчик событий button_click не вызывает метод ValidatePassword
Ваш StreamReader в LireClient будет считывать каждую строку в вашем файле и разбивать содержимое на один массив элементов с 2 измерениями - следовательно, будет сохранена только последняя строка.
Я предлагаю вам для начала заглянуть на веб-сайт MSDN для получения информации о StreamReader, а затем посмотреть, как вы можете обрабатывать аутентификацию
Класс MSDN StreamReader
Форма входа в систему с помощью Windows Forms - новички

с уважением

Arunprasath Natarajan

Я согласен с ним - вы должны хранить имя пользователя и пароль в текстовом файле.

1 Ответов

Рейтинг:
7

Maciej Los

Никогда не храните пароль в виде обычного текста!

Пожалуйста, прочтите это: Хранение паролей: как это сделать.[^]