Этот вопрос больше связан с тем, как я настраиваю свой код на стороне сервера для простого сценария входа. Я заинтересован в наилучшем способе достижения моей цели, которая заключается в проверке имени пользователя и пароля пользователя по базе данных и предоставлении им либо успешного входа в систему, либо страницы регистрации, либо найденного имени пользователя или пароля, но альтернатива неправильно.
Сейчас у меня настроено, где мой sql-запрос сканирует базу данных как для пользователя, так и для передачи:
SELECT * FROM test WHERE userName='" + userName + "' AND pass='" + password + "'"
Проблема с этим подходом в том, что он либо возвращает истину, либо ложь ... Я не могу сказать, был ли один из входов верным, а другой - нет. Он либо находит запись, либо нет.
Так что я мог бы делать запросы, основываясь только на имени пользователя, и, если он найден, проверить запись на правильный пароль, прежде чем передать пользователю успешный вход в систему. Таким образом, я узнаю, что пароль неправильный, но не знаю, правильный ли он, и пользователь просто вводит неправильное имя пользователя.
В качестве альтернативы я мог бы расширить это, и если пользователь не найден, запросить базу данных на основе пароля и определить, могу ли я найти запись, но имя пользователя не совпадает. Похоже, много взад-вперед с базой данных, что нормально. Но я хотел бы услышать от некоторых экспертов о том, является ли это правильным подходом.