Почему мой express сеанс не удаляется / уничтожается при нажатии на выход? - PullRequest
0 голосов
/ 05 января 2020

После того, как я вошел в систему, я не могу выйти из системы, потому что express -сессия не удаляется, чтобы выйти из системы, мне нужно вручную удалить коллекцию сеансов из mon go, которая является отдельной коллекцией с пользователем и постом. для полного кода вы также можете искать https://github.com/roshantak44/nodejs-blog-tutorial

// контроллеры / выход. js

module.exports = (req, res) => {
    req.session.destroy()
    res.redirect('/')
}

//middleware/auth.js

const User = require('../database/models/User')

module.exports = (req, res, next) => {
User.findById(req.session.userId, (error, user) => {
    if (error || !user) {
        return res.redirect('/')
    }
    next()
})

}

// middleware / redirectIfAuthenticated. js

const User = require('../database/models/User')

module.exports = (req, res, next) => {
if (req.session.userId) {
    return res.redirect('/');
}

next()
}

// app.edge

<!-- Navigation-->
<nav class="navbar navbar-expand-lg navbar-light fixed-top" id="mainNav">
  <div class="container"><a class="navbar-brand" href="index.html">Start Bootstrap</a>      
    <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">Menu<i class="fa fa-bars"></i></button>      
    <div class="collapse navbar-collapse" id="navbarResponsive">
      <ul class="navbar-nav ml-auto">
        <li class="nav-item"><a class="nav-link" href="/">Home</a></li>         
        <li class="nav-item"><a class="nav-link" href="/posts/new">New Post</a></li>
                 @if(!auth)

        <li class="nav-item"><a class="nav-link" href="/auth/login">Login</a></li>          
        <li class="nav-item"><a class="nav-link" href="/auth/register">Register</a></li>
                 @else

        <li class="nav-item"><a class="nav-link" href="/auth/logout">Logout</a></li>         
                 @endif
      </ul>
    </div>
  </div>
</nav>  
@!section('content')
<!-- Footer-->

1 Ответ

0 голосов
/ 05 января 2020
request.session.destroy(function(err) {
    response.redirect('/');
});

Может, тебе стоит попробовать вот так!

...