Вход в систему с использованием XML-данных
Я пытаюсь проверить учетные данные для входа в систему из XML-файла
Что я уже пробовал:
Я попробовал следующий код,
Любые предложения, как я использовал.
это показывает, что он не может быть преобразован в bool.
<pre>protected void Submit_Click(object sender, EventArgs e) { string Username = txtUsername.Text; string Password = EncDec.Encrypt(txtPassword.Text); string FilePath = Server.MapPath("~/Logs/Login.xml"); XDocument Loginxml = new XDocument(); var LoginCheck = Loginxml.Descendants("userDetails") .Where(x => (string)x.Attribute("Username") == Username && (string)x.Attribute("Password") == Password ); if (LoginCheck) { DisplayMessage.Visible = true; DisplayMessage.Text = "Login Successful"; Response.Redirect("AdminMaster.aspx"); } else { DisplayMessage.Visible = true; DisplayMessage.Text = "Invalid Username/Password"; } }
XML-содержимое:-
<userDetails Username="TestAdmin" EmailID="shridhar.salunkhe@grassdew.com" Password="YhY3rY4RCt9XVUiNfaOKmCMP7HADqexWdFHfXc4k3hQ=" />
Richard Deeming
Это похоже на нарушение безопасности, ожидающее своего часа!
Если только вы не предпримете конкретных шагов для его защиты, кто угодно можно скачать Logs/Login.xml
файл и прочитать все учетные данные для вашего сайта.
Вы храните пароли в виде обычного текста, поэтому им даже не нужно прилагать никаких усилий, чтобы использовать учетные данные-просто скопируйте и вставьте, и вы вошли в систему.
Кроме того, поскольку вы не используете никакой контроль доступа, нет ничего, что могло бы помешать пользователю перейти непосредственно к AdminMaster.aspx
без необходимости входить в систему.
Не пытайтесь заново изобрести колесо. Вместо этого используйте одну из встроенных систем безопасности - например, Личность ASP.NET [^].