summaryrefslogtreecommitdiff
path: root/server/lib/middleware.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib/middleware.js')
-rw-r--r--server/lib/middleware.js25
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