Member 14382602 Ответов: 2

Вход через API rest и jspn


Привет

Как я могу передать в свою форму входа эту информацию, полученную через Json?
// Class 1
public class ApiRest
{
  public string Message { get; set; }
  public string Status { get; set; }
}

// Class 2
public class ApiLogin
{
  public ApiRest Authenticate(string email, string passowrd)
  {
    var client = new RestClient("http://192.168.1.20/api/user/auth.php?email=" + email + "&password=" + passowrd);
    var response = client.Execute(new RestRequest());

    var authResponse = JsonConvert.DeserializeObject<apirest>(response.Content);
    return authResponse;
  }
}
Мне нужно перейти к своему логину в форме Windows с помощью текстового поля, электронной почты, пароля и кнопки входа в систему.

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

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

обс. РНР экземпляра (auth.php) и работы на участке.

Спасибо

MadMyche

Похоже, вам не хватает какого-то кода, например того, что находится в RestRequest и откуда берется имя пользователя и т. д.

Member 14382602

Исходя из базы данных mysql. auth.php преобразование информации в json

подготовить("выбрать количество(*) из `пользователи`, где `электронной почты` = :email и пароль = пароль");
$SQLCheckLogin -и GT; выполнить(массив(':электронная почта' =&ГТ; $электронной почты, 'пароль' => в формате SHA1(алгоритм MD5($пароль))));
$countLogin = $SQLCheckLogin -> fetchColumn(0);
если (!($countLogin == 1))
{
Эхо json_encode(массив("сообщение" =&ГТ; "ошибка аутентификации.", "статус" =&ГТ; "не"));
умирать();
}

Эхо json_encode(массив("сообщение" =&ГТ; "проверка подлинности успешно.", "статус" =&ГТ; "успех", "имя" =и GT; $userInfo в['Номе']));

?>

2 Ответов

Рейтинг:
7

Christian Graus

Почему вы не используете ASP.NET идентичность, если вы используете C#? Он создаст базу данных и контроллеры для всех обычных функций


Рейтинг:
13

OriginalGriff

Ах милый. Так мало кода, так много проблем ...

1) вы жестко кодируете строку подключения yoru: это означает, что вы должны изменить код для производства и выпустить непроверенный код. Всегда используйте конфигурационный файл, чтобы строка записывалась только в одном месте, которое находится вне приложения: таким образом, ваш код не меняется между dev и prod, и вам не нужно "настраивать" каждое приложение для среды, в которую оно входит.
2) вы также должны знать, что 192.168.x.x являются локальными для локальной сети и обычно нестатичны. А это значит, что если вы выключите все компьютеры на выходные, то в понедельник они вполне могут вернуться с разными IP-адресами. Используйте имена хостов вместо IP-адресов, даже для локальных компьютеров.
3) Никогда не обрабатывайте пароли в виде открытого текста - это серьезная угроза безопасности. Здесь есть некоторая информация о том, как это сделать: Хранение паролей: как это сделать.[^]
И помните: если это веб-сайт и у вас есть какие-либо пользователи из Европейского союза, то применяется GDPR, а это означает, что вы должны обрабатывать пароли как конфиденциальные данные и хранить их безопасным и безопасным способом. Текст-это ни то, ни другое, и штрафы могут быть ... ГМ ... выдающийся. В декабре 2018 года немецкая компания получила относительно низкий штраф в размере 20 000 евро именно за это.