@Scorpiored88

Как реализовать login/авторизацию с помощью express js?

Всем доброго времени суток.
Делаю проект на express,осталось мне реализовать авторизацию.

мой html/ejs с логином :

<%= errr %>
<form class="form-signin"id="log form" type='post' action="/login/">
        <h2 class="form-signin-heading">Вход в систему</h2>
        <input type="text" class="form-control" name="usernames" placeholder="Логин" required autofocus=""  autocomplete="off"/>
        <input type="password" class="form-control" name="password" placeholder="Пароль" required autocomplete="off"/>

        <button id="send" type='submit' class="btn btn-lg btn-primary btn-block" >Вход</button>
    </form>


в роутах делаю следующие:

router.post('/login/', function (req, res, next) {
    var log_user =  req.body.usernames;
     var log_passw = req.body.password

   if(log_user == user_one && log_passw  == passw_one ){
               res.render('index_one',{some_data:'this_user_data'})
   }else if(log_user == user_second && log_passw  == passw_second ) {
               res.render('index_second',{some_data:'this_user_data'})
    }else{
               а что написать здесь, чтобы  оповестить пользователя об ошибке и оставить его на странице входа?  }
})


Или может данные с формы отправлять через ajax? но будет ли тогда при удачном входесделан переход на index.ejs ?
  • Вопрос задан
  • 2572 просмотра
Пригласить эксперта
Ответы на вопрос 2
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Не хотите готовое решение взять?

а что написать здесь, чтобы оповестить пользователя об ошибке и оставить его на странице входа?

res.render('login_page', {errr: 'неправильный логин или пароль', user: log_user})

В шаблоне с логином имеет смысл вывести логин в поле вводе логина для удобства пользователя.
Ответ написан
@Scorpiored88 Автор вопроса
Хм... сделал ка Вы посоветовали,работает,но есть одно НО!
После удачного входа пользователя если в браузере нажать на кнопку/стрелку "назад" идет переход на предыдущую страницу, с вводом пароля и логина,и если здесь тепер нажать на кнопку/стрелку "вперед" то вход происходит без ввода логина и пароля.
Ето какойто кеш в браузере? как с етим боротся ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы