Как добавить нескольких пользователей в систему LoginFlow - Xamarin - PullRequest
0 голосов
/ 08 февраля 2019

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

https://developer.xamarin.com/samples/xamarin-forms/Navigation/LoginFlow/

Мне нравится, как работает 'LoginFlow'.

Я хочу жестко закодировать учетные записи пользователей в решении, и тогда, когда дело доходит до входа в систему, пользователь просто использует свои учетные данные, которые я буду жестко кодировать и выдавать индивидуально.

Я вижу, что есть файл с именем "LoginNavigation-> Constants.cs".У него есть одна учетная запись пользователя.

Мой вопрос заключается в том, как я могу добавить нескольких пользователей, чтобы несколько пользователей могли войти в это решение.

namespace LoginNavigation
 {
   public static class Constants
     {
        public static string Username = "Xamarin";
        public static string Password = "password";


       }
  }

Редактировать

Ошибка при сопоставлении учетных данных с формой входа в каталог.

Constants.cs

using System;
using System.Collections.Generic;

namespace LoginNavigation
{
    public class Constants
    {
        Dictionary<string, string> Credentials = new Dictionary<string, string>()
    {
        { "user1", "pass" },
        { "user2", "pass" },
        { "user3", "pass" }
    };

    }


}

На странице входа в систему;Это действие, когда пользователь нажимает кнопку входа в систему.

LoginPage.cs

        async void OnLoginButtonClicked (object sender, EventArgs e)
         {
            var user = new User {
            Username = usernameEntry.Text,
            Password = passwordEntry.Text
        };

        var isValid = AreCredentialsCorrect (user);
        if (isValid) {
            App.IsUserLoggedIn = true;
            //Navigation.InsertPageBefore (new MainPageCS (), this);
            Navigation.InsertPageBefore(new MainPageCS(), Navigation.NavigationStack.First());
            await Navigation.PopAsync ();
        } else {
            messageLabel.Text = "Login failed";
            passwordEntry.Text = string.Empty;
        }
    }


    bool AreCredentialsCorrect (string user, string pass)
    {
        //return user.Username == Constants.Username && user.Password == Constants.Password;
        return (Credentials.ContainsKey(user) && Credentials[user] == pass);

    }

Как я могу исправить выше, пожалуйста.Спасибо

1 Ответ

0 голосов
/ 08 февраля 2019

создайте словарь, содержащий все ваши пары пользователей и паролей

Dictionary<string, string> Credentials = new Dictionary<string, string>()
    {
        { "user1", "pass" },
        { "user2", "pass" },
        { "user3", "pass" }
    };

, а затем, когда вы захотите проверить их

public bool ValidateLogin(string user, string pass) 
{
  return (Credentials.ContainsKey(user) && Credentials[user] == pass);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...