diff options
Diffstat (limited to 'server/lib/middleware.js')
| -rw-r--r-- | server/lib/middleware.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/server/lib/middleware.js b/server/lib/middleware.js index dea8019..cace91f 100644 --- a/server/lib/middleware.js +++ b/server/lib/middleware.js @@ -17,6 +17,31 @@ var middleware = { next(); }, + ensureAuthenticated: function (req, res, next) { + if (! req.isAuthenticated()) { + req.session.returnTo = req.path; + return res.redirect('/login'); + } + next(); + }, + + ensureIsAdmin: function (req, res, next) { + User.findOne({ _id: req.user._id }, function (err, user) { + if (! user.isAdmin) { + return res.redirect('http://' + config.host + '/' + req.user.username); + } + req.user = user + next(); + }); + }, + + ensureLocals: function (req, res, next) { + res.locals.token = req.csrfToken(); + res.locals.logged_in = req.isAuthenticated() + res.locals.user = req.user || {} + next() + }, + } module.exports = middleware |
