Я хочу создать форму входа в систему с 3 полями, вот форма:
<div class="container-login">
<img src="/img/logo.jpg" class="logo-login">
<form action="/login" method="POST" class="form-login">
<label for="username">Nume utilizator:</label>
<input type="text" name="username" id="username-login" placeholder="nume utilizator"><br/>
<label for="password">Parola:</label>
<input type="password" name="password" id="password-login" placeholder="parola"><br/>
<label for="region">Regiune:</label>
<select name="regiuni" id="region-login">
<optgroup label="Regiunea 1">
<option value="10">Judet 1</option>
<option value="11">Judet 2</option>
<option value="12">Judet 3</option>
</optgroup>
<optgroup label="Regiunea 2">
<option value="13">Judet 4</option>
<option value="14">Judet 5</option>
<option value="15">Judet 6</option>
</optgroup>
<optgroup label="Regiunea 3">
<option value="16">Judet 7</option>
<option value="17">Judet 8</option>
<option value="18">Judet 9</option>
</optgroup>
</select><br/>
<button class="trimite-login">Trimite</button><br/>
</form>
</div>
Я использую node & express & passport, passport-local, passport-local-mongoose + mongodb.Я не знаю, как мне отредактировать свой маршрут входа в систему, потому что в документации вход по паспорту выглядит так:
router.post("/login", passport.authenticate("local", {
successRedirect: "/register",
failureRedirect: "/login"
}));
У меня есть идея, но она кажется слишком сложной, поэтому я не думаю, что это будет правильно.Должен ли я использовать запрос поиска, чтобы найти пользователя в БД, а затем использовать другой поиск, чтобы проверить регион в его свойствах?Затем, если он существует, используйте passport.authenticate для аутентификации пользователя.
Если это лучший способ (в чем я сомневаюсь), как бы я это сделал?Могу ли я вложить passport.authenticate в другую функцию обратного вызова?
Итак, я спрашиваю, верна ли моя идея.Если да, то как мне написать это, и если это не даст мне другую идею о том, как это сделать, и я постараюсь сделать это сам.
Большое спасибо!