Asp.net маршрутизация MVC для успешного и неудачного входа в систему
Привет, я новичок в ASP MVC, у меня есть простой вопрос для маршрутизации моей страницы входа, я застрял на маршрутах аутентификации. Не могли бы вы мне помочь, пожалуйста.
Когда я пытаюсь войти в систему, он показывает:
Ошибка сервера в приложении'/'.
Ресурс не может быть найден.
Описание: HTTP 404. Искомый ресурс (или одна из его зависимостей) может быть удален, изменено его имя или временно недоступен. Пожалуйста, просмотрите следующий URL-адрес и убедитесь, что он написан правильно.
Запрошенный URL-адрес: /Verify
Что я уже пробовал:
AccountController:
[HttpGet]
public ActionResult Login()
{
возвращение смотреть();
}
пустая строка соединения()
{
против.ConnectionString = @"источник данных=.\SQLEXPRESS; база данных=WPF; Интегрированная безопасность=SSPI";
}
[HttpPost]
общественная ActionResult проверки(аккаунт акк)
{
connectionString();
против.Открыть();
ком.Подключение = кон;
ком.CommandText = "SELECT * FROM tbl_login where username = '" + acc.Имя + "' и пароль = '" + acc.Password + "'";
dr = com.Метода executereader();
если (dr.Read())
{
против.Закрывать();
return View("создать"); }
еще
{
против.Закрывать();
return View("ошибка"); }
RouteConfig.в CS
маршруты.MapRoute(
имя: "учетная запись",
url: "Account/{action}/{id}",
по умолчанию: новый { контроллера счет= "", действие = "Логин" идентификатор = UrlParameter.Необязательный }
);
маршруты.MapRoute(
имя default",
url: "{controller}/{action}/{id}",
по умолчанию: новый { контроллера = "Главная", действие = "индекс", элемент ID = UrlParameter.Необязательный }
);
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]
Richard Deeming
Вы также сохраняете пароль в виде обычного текста. Не делай этого.
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]
Richard Deeming
Я бы рекомендовал вам вместо этого использовать одну из готовых библиотек authenticatoin. Например:
Личность ASP.NET [^]